查看: 152|回复: 2|关注: 0

[已解决] subs代换多个变量的多个值

[复制链接]

新手

40 麦片

财富积分


050


10

主题

55

帖子

1

最佳答案
在一个式子中有多个变量,每个变量取值有多个;
尝试对每个变量直接用subs代换为矩阵时会报错:
  1. clear;clc;
  2. xv=1:3;
  3. yv=(2:4);
  4. syms x y z
  5. z=x.*y;
  6. z=subs(z,[x,y],[xv,yv])
复制代码

错误信息:
  1. 错误使用 sym/subs>normalize (line 226)
  2. Inconsistency between sizes of second
  3. and third arguments.

  4. 出错 sym/subs>mupadsubs (line 157)
  5. [X2,Y2,symX,symY] = normalize(X,Y);
  6. %#ok

  7. 出错 sym/subs (line 145)
  8.     G = mupadsubs(F,X,Y);

  9. 出错 Untitled (line 6)
  10. z=subs(z,[x,y],[xv,yv])
复制代码
不得已,只得一个一个变量的代换:
  1. clear;clc;
  2. xv=1:3;
  3. yv=(2:4);
  4. syms x y z
  5. z=x.*y;
  6. % z=subs(z,[x,y],[xv,yv])
  7. z=subs(z,x,xv)
  8. z=double(subs(z,y,yv))
复制代码
暂时算一个解决方法;但请问还有没有其他更优雅的写法?



回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

权威

4341 麦片

财富积分



4

主题

4396

帖子

940

最佳答案
  • 关注者: 213
发表于 2020-5-20 11:35:16 | 显示全部楼层 |此回复为最佳答案
z=subs(x*y,{x,y},{xv,yv})
回复此楼 已获打赏: 0 积分

举报

新手

40 麦片

财富积分


050


10

主题

55

帖子

1

最佳答案
 楼主| 发表于 2020-5-20 11:37:47 | 显示全部楼层
maple1314168 发表于 2020-5-20 11:35
z=subs(x*y,{x,y},{xv,yv})

不错,足够优雅了:victory:
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表