| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7468 人关注过本帖
标题:[求助]怎样直接将数值变量直接代入符号表达式进行数值计算
取消只看楼主 加入收藏
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
 问题点数:0 回复次数:8 
[求助]怎样直接将数值变量直接代入符号表达式进行数值计算

简单举个例子,有程序
syms fy1
g=0.75-0.24*sin(3*fy1+3*pi/2);
f=atan(t);
delta1=compose(f,g);
delta1_fy1=diff(delta1,'fy1')

s1=sqrt((52*delta1_fy1).^2+(52*sin(delta1)).^2)
得到结果:
54/25*(324*sin(3*fy1)^2/(1+(3/4+6/25*cos(3*fy1))^2)^2+625*(3/4+6/25*cos(3*fy1))^2/(1+(3/4+6/25*cos(3*fy1))^2))^(1/2)
有没有什么方法将变量fy1的数值直接代入计算,或者将上述的表达式转化为“. * ”、“. / ”、“. ^ ”形式。
我实际用到的运算表达式很长,每次都是手工加“.”来转化运算符,再代入数值型变量计算,很麻烦,工程太大了,谁能救我出苦海啊,不胜感激!!!!

搜索更多相关主题的帖子: 数值计算 代入 变量 符号 表达 
2006-08-26 17:24
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 

6个句子就能解决的问题,每次都都要花20分钟。谢谢,谢谢!!!!!

什么函数可以将string转化成算式形啊

2006-08-27 14:18
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 
多谢你出手救我啊,这么快就能得到答复,终于出苦海了
2006-08-27 19:40
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 
syms fy1 ;
fy2=3*fy1/4+0.08*cos(3*fy1+3*pi/2);
g=0.75-0.24*sin(3*fy1+3*pi/2);
delta1=atan(g);
delta2=pi/2-delta1;
z2=52*cos(fy2)*sin(delta2);
y2=52*sin(fy2)*sin(delta2);
x2=52*cos(delta2);
delta2_fy1=diff(delta2,'fy1') ;
char a="";
a=sqrt((52*delta2_fy1)^2+(52*sin(delta2)*g)^2)
char b ="";
b = a.Replace("\*","\.\*");
char c = "";
c = b.Replace("\/","\.\/");
char d = "";
d = c.Replace("\^","\.\^")
这样写没错吧,但是提示错误:
??? Error: File: D:\ProgramFiles\matlab\work\Untitled4.m Line: 13 Column: 15
Missing variable or function.
还要请你指正啊
2006-08-27 21:26
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 

我用的是6.5版本的matlab,系统提示说string已经废弃了,可换为char形

2006-08-28 08:55
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 

试试看,谢谢你的细心指导,一直跟贴[em34

2006-08-30 20:27
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 
我diy解决了,还是贴出来,希望可以帮到其他人。

a=strrep('需要编辑的字符表达式','*','.*');
b=strrep(a,'/','./');
c=strrep(b,'^','.^');
我会继续关注此帖,有人有问题的话,可以提出来,我会尽力帮忙的,大家一起努力啊
2006-09-02 17:01
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 
我也有同样的问题,不过我换了种方法,好像可以。你参考一下
syms x;
f=sin(x)-300*sin(70-x).*cos(70-x);
g=solve(f)
2006-09-07 09:03
yanhe3302
Rank: 1
等 级:新手上路
威 望:1
帖 子:39
专家分:0
注 册:2006-7-18
收藏
得分:0 
这个我也不太清楚,不过要看结果的话,可在“workspace”中,点所得的结果用右键打开。我看了一下你的结果是很长,可以用
double(你的结果)
化简试试看
2006-09-07 14:16
快速回复:[求助]怎样直接将数值变量直接代入符号表达式进行数值计算
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014965 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved