matlab的方程式求解问题!(急)~ 下面这段程序哪里有问题,要怎么改过来? 例如:主要是给定M=4,2个a值,通过满足以下两个式子,求另外两个数值 handles.metricdata.M=4; handles.metricdata.a1=0.5; handles.me
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 02:21:14
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];