声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1153|回复: 7

[编程技巧] 求助一个替换的小问题

[复制链接]
发表于 2009-4-22 14:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
现已知有
a=[a1 a2 a3 a4]
b=2*a1-cos(a2)+2
现想把写成
b=2*a(1)-cos(a(2))+2
的形式,请问有什么命令或方式可以实现吗?
拜谢各位大侠啦!

[ 本帖最后由 sigma665 于 2009-4-22 14:08 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-4-22 20:55 | 显示全部楼层

微分方程求解

现有一下微分方程
y=[a b c d]
dy1=sin(a)+2*b-1
dy2=cos(c)-d+2
dy3=2*a+6-c
dy4=sin(d)+cos(b)-2
初始值y0=[1 0 2 0]
现要用ode45来求解x=[0:0.5:3]的值,请问可以怎么求解?
我本是想将方程写成dy1=sin(y(1))+2*y(2)-1这类的形式,然后用ode45(@fun,[0:0.5:3],y0)来求解的,可是不知道该怎么样化成这样的形式,还请各位大侠指教。若是不能这样化,那么这个方程可以怎么求解呢?拜谢各位了!!
 楼主| 发表于 2009-5-7 23:12 | 显示全部楼层
现有一符号矩阵a=[sin(a1)-a2;cos(a3)+sin(a2)-1;sin(a1)*cos(a3)]以及一矩阵b=[1 2 3]请教各位可不可以吧a中的符号a1,a2 a3都替换成b中相应的数呀?也就是替换后成为a=[sin(a1)-2;cos(3)+sin(2)-1;sin(1)*cos(3)].当然要是能够直接计算出结果那就更好了。呵呵.拜谢各位啦!!
发表于 2009-5-7 23:17 | 显示全部楼层
原帖由 liushuiwuxin 于 2009-4-22 14:02 发表
现已知有
a=[a1 a2 a3 a4]
b=2*a1-cos(a2)+2
现想把写成
b=2*a(1)-cos(a(2))+2
的形式,请问有什么命令或方式可以实现吗?
拜谢各位大侠啦!

利用m文件编辑器的 查找和替换 功能
发表于 2009-5-7 23:18 | 显示全部楼层
原帖由 liushuiwuxin 于 2009-5-7 23:12 发表
现有一符号矩阵a=[sin(a1)-a2;cos(a3)+sin(a2)-1;sin(a1)*cos(a3)]以及一矩阵b=[1 2 3]请教各位可不可以吧a中的符号a1,a2 a3都替换成b中相应的数呀?也就是替换后成为a=[sin(a1)-2;cos(3)+sin(2)-1;sin(1)*cos(3)].当 ...

help subs
 楼主| 发表于 2009-5-8 11:29 | 显示全部楼层
非常感谢楼上的帮助。我刚才实验了一下,的确是这样滴。呵呵。我以前是知道subs的,但知道的不全,今天是有多学了些东西啦。谢谢!
    现在又出现了一个问题就是:subs的替换格式好像是subs(cos(a)+sin(b),{a,b},{1,2})。那现在我要替换的m=[1 2]是我前面计算出来的数组。要是用{1,2}替换的话太麻烦,也不利于整个代码的运行。我想要是能够这样subs(cos(a)+sin(b),{a,b},‘m’)替换的话那就很好实现了。可是subs好像没有这个格式。不知道可否有其他的什么方法可以实现这个功能哦?再次拜谢啦!
发表于 2009-5-8 12:46 | 显示全部楼层

回复 6楼 liushuiwuxin 的帖子

clear
clc
syms a b
y=cos(a)+sin(b);
m=[1 2];
subs(y,{a,b},{m(1),m(2)})
% or
mm=mat2cell(m,1,[1 1]);
subs(y,{a,b},mm)

[ 本帖最后由 friendchj 于 2009-5-8 12:48 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2009-5-8 13:50 | 显示全部楼层
非常感激啦!!刚刚实验了一下,的确是这样滴。谢谢!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 13:37 , Processed in 0.068544 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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