24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1028  |  回复: 3

wejonathan

金虫 (小有名气)

[求助] Matlab 小白问一个简单的 带有变量运算的 问题已有1人参与

打算用matlab构造一个带有变量的表达式,
但是一直提示无法从 sym 转变到 double。我刚接触不久,所以请大神帮帮忙

syms t
T=ones(5,1);
for i=1:1:4
    for j=1:1:5
        T(i+1,j)=T(i+1,j)*(t-x(j));
    end
end
T

从 sym 转换为 double 时出现以下错误:
错误使用 mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.

出错 Question1st (line 35)
        T(i+1,j)=T(i+1,j)*(t-x(j));
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

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

wdlgezi

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
不知道你的x是怎么定义的,我姑且设成随机的了,代码如下:
syms t
T=ones(5,1);
x=rand(5,1);
T=T.*(t-x);
你的那两个循环实际就是矩阵点乘。这样不会出现你编译的那个问题
敢问路在何方
2楼2015-01-11 10:36:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wejonathan

金虫 (小有名气)

引用回帖:
2楼: Originally posted by wdlgezi at 2015-01-11 10:36:26
不知道你的x是怎么定义的,我姑且设成随机的了,代码如下:
syms t
T=ones(5,1);
x=rand(5,1);
T=T.*(t-x);
你的那两个循环实际就是矩阵点乘。这样不会出现你编译的那个问题

那么为什么你的这个不会出现问题,而我的那个就会出现问题呢?

[ 发自小木虫客户端 ]
3楼2015-01-11 11:22:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wdlgezi

金虫 (正式写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by wejonathan at 2015-01-11 11:22:43
那么为什么你的这个不会出现问题,而我的那个就会出现问题呢?
...

你那样算默认是在double下计算,所以会出现无法将t转换成double的问题
敢问路在何方
4楼2015-01-11 12:11:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wejonathan 的主题更新
信息提示
请填处理意见