Matlab绘图In an assignment A(I) = B,the number of elements in B and I must be the same自定义了一个函数X=F(t),函数里有一数组变量a[1]=t; a[2]=2*t; 要对a[1],a[2]做循环运算,当绘图时,t=1:50.t变成数组就出问题了.(注

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 20:31:06

Matlab绘图In an assignment A(I) = B,the number of elements in B and I must be the same自定义了一个函数X=F(t),函数里有一数组变量a[1]=t; a[2]=2*t; 要对a[1],a[2]做循环运算,当绘图时,t=1:50.t变成数组就出问题了.(注
Matlab绘图In an assignment A(I) = B,the number of elements in B and I must be the same
自定义了一个函数X=F(t),函数里有一数组变量a[1]=t; a[2]=2*t; 要对a[1],a[2]做循环运算,当绘图时,t=1:50.t变成数组就出问题了.(注:函数里的数组变量是必须的)
要实现绘图功能
原函数:function r = solutionA(t)
a(:,1)=(1-exp(-0.02.*t)).^2;
a(:,2)=(1-exp(-0.02.*t)).^2;
a(:,3)=(1-exp(-0.02.*t)).^2;
a(:,4)=(1-exp(-1.*t./150)).^2;
a(:,5)=(1-exp(-1.*t./150)).^2;
a(:,6)=(1-exp(-1.*t./150)).^2;
a(:,7)=(1-exp(-1.*t./150)).^2;
a(:,8)=1-exp(-0.02.*t);
a(:,9)=1-exp(-0.02.*t);
a(:,10)=1-exp(-0.02.*t);
a(:,11)=1-exp(-0.02.*t);
a(:,12)=1-exp(-0.02.*t);
a(:,13)=1-exp(-0.02.*t);
r=0;
for i=1:13
r=r+a(i);
end
r=1-r;
p=0;
for i=1:12
for j=i+1:13
p=p+a(i)*a(j);
end
end
r=r+p;

Matlab绘图In an assignment A(I) = B,the number of elements in B and I must be the same自定义了一个函数X=F(t),函数里有一数组变量a[1]=t; a[2]=2*t; 要对a[1],a[2]做循环运算,当绘图时,t=1:50.t变成数组就出问题了.(注
是这样的,
t是一行多列的行向量.


a(:,1)=(1-exp(-0.02.*t)).^2;
等号右边与t是相同的结构,是一行多列的行向量,
而a(:,1)是一个列向量.
这样赋值会出错.
function r = solutionA(t)
t=t(:); %先把t弄成列向量,
a(:,1)=(1-exp(-0.02.*t)).^2;

这样就可以了.
不过r=r+a(i)
我不知道你这个用意是什么,注意a(i)仅仅只是第i行第一列的一个值,而不是第i行.因为不知道你的目的是什么,所以不知道有没有错.