matlab问题.为什么下面这个程序无法运行?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/16 20:19:02
matlab问题.为什么下面这个程序无法运行?
clear;
ka=1;
kd=2;
c=10+kd*20./(ka-kd)*(exp(-ka*x./4)-exp(-kd*x./4));
x=[0 8 28 36 56];
do=[10 8.5 7.0 6.1 7.2];
z=sum((c-do).^2);
dis;z
clear;
ka=1;
kd=2;
c=10+kd*20./(ka-kd)*(exp(-ka*x./4)-exp(-kd*x./4));
x=[0 8 28 36 56];
do=[10 8.5 7.0 6.1 7.2];
z=sum((c-do).^2);
dis;z
楼主,你这里不可以用点运算,因为ka kd是数,而不是矩阵,只有矩阵间的相应数运算才用点运算的
我按照最严格得思路帮你修改了一下程序,如下:
clear;clc;
ka=1;
kd=2;
x=[0 8 28 36 56];
for i=1:length(x)
c(i)=10+kd*20/(ka-kd)*(exp(-ka*x(i)/4)-exp(-kd*x(i)/4));
end
do=[10 8.5 7.0 6.1 7.2];
for i=1:length(x)
for j=1:length(do)
z(i)=(c(i)-do(j))^2;
end
end
Z=sum(z);
Z
这个是可以运行的
至于你上面的那个dis,不知道是什么,是disp吗?
我按照最严格得思路帮你修改了一下程序,如下:
clear;clc;
ka=1;
kd=2;
x=[0 8 28 36 56];
for i=1:length(x)
c(i)=10+kd*20/(ka-kd)*(exp(-ka*x(i)/4)-exp(-kd*x(i)/4));
end
do=[10 8.5 7.0 6.1 7.2];
for i=1:length(x)
for j=1:length(do)
z(i)=(c(i)-do(j))^2;
end
end
Z=sum(z);
Z
这个是可以运行的
至于你上面的那个dis,不知道是什么,是disp吗?