matlab的方程式求解问题!(急)~ 下面这段程序哪里有问题,要怎么改过来? 例如:主要是给定M=4,2个a值,通过满足以下两个式子,求另外两个数值 handles.metricdata.M=4; handles.metricdata.a1=0.5; handles.me
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 02:04:59
![matlab的方程式求解问题!(急)~ 下面这段程序哪里有问题,要怎么改过来? 例如:主要是给定M=4,2个a值,通过满足以下两个式子,求另外两个数值 handles.metricdata.M=4; handles.metricdata.a1=0.5; handles.me](/uploads/image/z/8629919-71-9.jpg?t=matlab%E7%9A%84%E6%96%B9%E7%A8%8B%E5%BC%8F%E6%B1%82%E8%A7%A3%E9%97%AE%E9%A2%98%21%EF%BC%88%E6%80%A5%EF%BC%89%7E+%E4%B8%8B%E9%9D%A2%E8%BF%99%E6%AE%B5%E7%A8%8B%E5%BA%8F%E5%93%AA%E9%87%8C%E6%9C%89%E9%97%AE%E9%A2%98%2C%E8%A6%81%E6%80%8E%E4%B9%88%E6%94%B9%E8%BF%87%E6%9D%A5%3F+%E4%BE%8B%E5%A6%82%EF%BC%9A%E4%B8%BB%E8%A6%81%E6%98%AF%E7%BB%99%E5%AE%9AM%3D4%2C2%E4%B8%AAa%E5%80%BC%2C%E9%80%9A%E8%BF%87%E6%BB%A1%E8%B6%B3%E4%BB%A5%E4%B8%8B%E4%B8%A4%E4%B8%AA%E5%BC%8F%E5%AD%90%2C%E6%B1%82%E5%8F%A6%E5%A4%96%E4%B8%A4%E4%B8%AA%E6%95%B0%E5%80%BC+handles.metricdata.M%3D4%3B++handles.metricdata.a1%3D0.5%3B+++handles.me)
matlab的方程式求解问题!(急)~ 下面这段程序哪里有问题,要怎么改过来? 例如:主要是给定M=4,2个a值,通过满足以下两个式子,求另外两个数值 handles.metricdata.M=4; handles.metricdata.a1=0.5; handles.me
matlab的方程式求解问题!(急)~
下面这段程序哪里有问题,要怎么改过来?
例如:主要是给定M=4,2个a值,通过满足以下两个式子,求另外两个数值
handles.metricdata.M=4;
handles.metricdata.a1=0.5;
handles.metricdata.a2=0.35;
M = handles.metricdata.M;
for i=1:M-2
express=['a(',int2str(i),')=','handles.metricdata.','a',int2str(i)];
eval(express);
end
a
%这边a为什么显示不是a=[0.5 0.35]
na = length(a);
k = ones(na,1).*(-1).^(0:na-1)';
a11 = sum(a);
a12 = sum(k.*a); %这边会显示‘.*'是错的,为什么?
if mod(na,2)==1
am2 = (1-a11-a12)/2;
else
am2 = (a12-a11+1)/2;
end
am1 = 1 -a11 -am2;
a = [a;am1;am2];
matlab的方程式求解问题!(急)~ 下面这段程序哪里有问题,要怎么改过来? 例如:主要是给定M=4,2个a值,通过满足以下两个式子,求另外两个数值 handles.metricdata.M=4; handles.metricdata.a1=0.5; handles.me
试试修改后的代码
handles.metricdata.M=4;
handles.metricdata.a1=0.5;
handles.metricdata.a2=0.35;
M = handles.metricdata.M;
for i=1:M-2
express=['a(',int2str(i),')=','handles.metricdata.','a',int2str(i)];
eval(express);
end
a
%这边a为什么显示不是a=[0.5 0.35]
na = length(a);
k = ones(1,na).*(-1).^(0:na-1);
a11 = sum(a);
a12 = sum(k.*a); %这边会显示‘.*'是错的,为什么?
if mod(na,2)==1
am2 = (1-a11-a12)/2;
else
am2 = (a12-a11+1)/2;
end
am1 = 1 -a11 -am2;
a = [a am1 am2];