24小时热门版块排行榜    

查看: 460  |  回复: 8
当前主题已经存档。

monitor2885

至尊木虫 (职业作家)

队长

[交流] 【求助】向量计算问题

第一个程序
t=0:10
switch(t)
case 1
y=t+1;
case 2
y=t*2;
otherwise
y=10;
end
p(t+1)=y;
end
plot(p)
第二个程序
t=0:10;
y=t.^2;
plot(Y)
这两个程序当中,t都是向量吧?!为什么第一个程序运行不了,第二个能运行,按理说,t的值都是一个一个计算的啊

[ Last edited by monitor2885 on 2009-9-23 at 13:19 ]
回复此楼

» 猜你喜欢

Retirement
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主


kuhailangyu(金币+1,VIP+0):欢迎积极参与 9-22 14:31
??? SWITCH expression must be a scalar or string constant.

In your case, t is an array, not a scalar.
2楼2009-09-22 13:03:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)


nono2009(金币+1,VIP+0):谢谢交流! 9-22 14:04
t应该是个标量,不能是矢量
3楼2009-09-22 13:51:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monitor2885

至尊木虫 (职业作家)

队长

怎么改呢
Retirement
4楼2009-09-22 17:17:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

无名小草

金虫 (小有名气)

你可以试一下第一句加for ....end循环。
5楼2009-09-22 20:57:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主


kuhailangyu(金币+1,VIP+0):欢迎积极参与 9-23 19:10
加循环是个办法,但不知有没有更简洁的技巧。
引用回帖:
Originally posted by monitor2885 at 2009-9-22 17:17:
怎么改呢

6楼2009-09-22 21:13:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monitor2885

至尊木虫 (职业作家)

队长

nono2009(金币+0,VIP+0):要求太宽泛了。入门的话可参考一般的线性代数教材。 9-23 13:36
帮忙讲解一下向量计算,谢谢
Retirement
7楼2009-09-23 13:20:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

senlia

木虫 (小有名气)


nono2009(金币+1,VIP+0):谢谢交流!欢迎常来。 9-23 14:32
猜测你的意图 我觉得第一个你可以这样写:
p=10*ones(11,1);
p(2)=2;
p(3)=4;
plot(p);
第二个最后一句改成plot(y)

[ Last edited by senlia on 2009-9-23 at 15:04 ]
书到用时方恨少, 天涯何处无芳草.
8楼2009-09-23 14:29:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1,VIP+0):谢谢专家! 9-23 16:52
你还是那个偏微分方程的问题吧?pdepe函数里面的初始条件和边界条件在计算的时候都是以标量的形式计算的,也就是一个一个时间步,一个一个位置算得,所以在程序中时间t不是向量,用switch没有问题。
9楼2009-09-23 16:38:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 monitor2885 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见