Matlab绘图In an assignment A(I) = B, the number of elements in B and I must be the same
答案:3 悬赏:50 手机版
解决时间 2021-02-14 04:57
- 提问者网友:我是女神我骄傲
- 2021-02-13 06:08
Matlab绘图In an assignment A(I) = B, the number of elements in B and I must be the same
最佳答案
- 五星知识达人网友:白昼之月
- 2021-02-13 06:16
是这样的,
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行.因为不知道你的目的是什么,所以不知道有没有错.追问我原来是将t值直接赋给一维数组a(i),然后对a(i)进行四则运算的,现在a变成二维了,不知道怎么处理,绘出的图也不大对。追答你以前怎么画图的?追问>> t=0:1:150;
>> y=solutionA(t);
>> plot(t,y)追答function r = solutionA(t)
t=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;追问t=0:1:150; 绘制出的t,y曲线是一条直线(这实际上是一条可靠性曲线,随时间增加而下降的), 你能绘出曲线吗?追答你还是把原始资料给我吧.
我不知道里面的细节.
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行.因为不知道你的目的是什么,所以不知道有没有错.追问我原来是将t值直接赋给一维数组a(i),然后对a(i)进行四则运算的,现在a变成二维了,不知道怎么处理,绘出的图也不大对。追答你以前怎么画图的?追问>> t=0:1:150;
>> y=solutionA(t);
>> plot(t,y)追答function r = solutionA(t)
t=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;追问t=0:1:150; 绘制出的t,y曲线是一条直线(这实际上是一条可靠性曲线,随时间增加而下降的), 你能绘出曲线吗?追答你还是把原始资料给我吧.
我不知道里面的细节.
全部回答
- 1楼网友:三千妖杀
- 2021-02-13 08:33
a(:,1)=t;
a(:,2)=2*t;追问绘图失败,是一条直线,没有解决问题,a(i)如何进行加减运算?追答现在是a是二维的
a(:,2)=2*t;追问绘图失败,是一条直线,没有解决问题,a(i)如何进行加减运算?追答现在是a是二维的
- 2楼网友:白昼之月
- 2021-02-13 07:45
意思就是说B大小跟I的大小不一样,如果想把B赋值给A(I),必须保证B和I的大小相同
a(:,1)=t;
a(:,2)=2*t;
意思是把t这个数组赋值给a的第一列,第二行同理
a(1,:)=t;
a(2,:)=2*t;
意思是把t这个数组赋值给a的第一行,第二行同理追问按照以上赋值后,我想做a(1)*a(2)如何实现,直接写吗追答a(:,1).*a(:,2),用点乘就行了追问t=0:1:150; 绘出的是一条直线,还是不正确
a(:,1)=t;
a(:,2)=2*t;
意思是把t这个数组赋值给a的第一列,第二行同理
a(1,:)=t;
a(2,:)=2*t;
意思是把t这个数组赋值给a的第一行,第二行同理追问按照以上赋值后,我想做a(1)*a(2)如何实现,直接写吗追答a(:,1).*a(:,2),用点乘就行了追问t=0:1:150; 绘出的是一条直线,还是不正确
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯