matlab中simple函数的用法

如题所述

matlab中simple函数用于获取符号变量的最简形式,调用形式为:[R,HOW] = SIMPLE(S)

其中S输入参数,符号变量,R返回值,输入变量的最简形式,HOW 化简的方式,一个字符串

示例如下:

>> syms x

>> y = cos(x)^2+sin(x)^2;

>> R = simple(y)

R = 

1

>> [r,how] = simple(y)

r = 

 how =

simplify

>> [r,how] = simple(cos(x)+i*sin(x))  

r = 

exp(x*i)

how =

rewrite(exp)

扩展资料:

常用函数

realmax:系统所能表示的最大正实数,默认1.7977×10^308

realmin:系统所能表示的最小负实数,默认2.2251e×10^(-308)   

nargout:函数的输出引数个数

rat(x):将实数x化为多项分数展开

rats(x):将实数x化为分数表示

sign(x):符号函数(Signum function)。

sin(x):正弦函数

atan2(x,y):四象限的反正切函数

median(x): 向量x的元素的中位数

sort(x): 对向量x的元素进行排序(Sorting)

norm(x): 向量x的欧氏(Euclidean)长度

semilogx: x轴为对数刻度,y轴为线性刻度

semilogy: x轴为线性刻度,y轴为对数刻度

参考资料来源:百度百科-MATLAB

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-08

matlab中simple函数用于获取符号变量的最简形式,调用形式为:[R,HOW] = SIMPLE(S),其中:

    S 输入参数,符号变量

    R 返回值,输入变量的最简形式

    HOW  化简的方式,一个字符串

示例如下:

>> syms x
>> y = cos(x)^2+sin(x)^2;
>> R = simple(y)
 
R = 
1
 
>> [r,how] = simple(y)
 
r = 


how =
simplify

>> [r,how] = simple(cos(x)+i*sin(x))
 
r = 
exp(x*i)
 
how =
rewrite(exp)

第2个回答  推荐于2017-10-07
simple('s'),s是字符串,如果是对某个字符函数如y=(2+x)/x;化简,直接用simple(y)就得到2/x+1;
有时表达式比较复杂,一次化简结果不太理想,就再次化简,可以用simple(simple(y))本回答被提问者采纳
第3个回答  2015-07-02
VAL: Execute string with MATLAB expression

eval(s)即 把字符串s的内容当作语句来执行

比如:eval_r('a=3*5') 和直接在command 窗口中输入 a=3*5 等效
(注:本文的eval()都被页面处于安全考虑而自动改成了 eval_r())

eval 一个经常用到的地方就是 将一些[符号表达式] 转换为 [数值]结果,比如用solve解一个方程得到 :
a=solve('x^2+4*x-9=0')
a =
- 13^(1/2) - 2
13^(1/2) - 2
为了得到直观的小数表示,我们输入 eval_r(a)就得到:
ans =
-5.6056
1.6056

ps:可以试试 eval('a')和eval_r(a) ,结果是不一样的,为什么?

还有一个经常用的地方就是
在循环中使用,可以对多个名字有规则的变量或文件进行操作,
比如:
for i=1:5
eval_r(['y',num2str(i),'=',num2str(i^2)])
end

以上语句等价于执行以下5句:

ynum2str(1)=num2str(1^2);
ynum2str(2)=num2str(2^2);
ynum2str(3)=num2str(3^2);
ynum2str(4)=num2str(4^2);
ynum2str(5)=num2str(5^2);

写在最后:eval在其他语言里面也有,比如HTML客户端脚本语言JavaScript,某些语言中eval容易造成安全隐患,(matlab不存在这问题)所以本文写的 eval(),保存博客以后总会变成 eval_r(),估计就是是页面js代码出于安全考虑给加了一个无用的后缀"_r"来使得eval功能失效。
第4个回答  2013-04-30

  我运行没问题呀,可能是精简版功能不齐全,要不你试试加上syms x

    >> y=sym('2*sin(x)*cos(x)');
    >> y
    y =
    2*cos(x)*sin(x)
    >> simple(y)
    simplify:
    sin(2*x)
    radsimp:
    2*cos(x)*sin(x)
    simplify(100):
    sin(2*x)
    combine(sincos):
    sin(2*x)
    combine(sinhcosh):
    2*cos(x)*sin(x)
    combine(ln):
    2*cos(x)*sin(x)
    factor:
    2*cos(x)*sin(x)
    expand:
    2*cos(x)*sin(x)
    combine:
    2*cos(x)*sin(x)
    rewrite(exp):
    2*((1/exp(x*i))/2 + exp(x*i)/2)*(((1/exp(x*i))*i)/2 - (exp(x*i)*i)/2)
    rewrite(sincos):
    2*cos(x)*sin(x)
    rewrite(sinhcosh):
    2*cosh(-x*i)*sinh(-x*i)*i
    rewrite(tan):
    -(4*tan(x/2)*(tan(x/2)^2 - 1))/(tan(x/2)^2 + 1)^2
    mwcos2sin:
    -2*sin(x)*(2*sin(x/2)^2 - 1)
    collect(x):
    2*cos(x)*sin(x)
    ans =
    sin(2*x)

matlab simple是什么函数?
matlab中simple函数用于获取符号变量的最简形式,调用形式为:[R,HOW] = SIMPLE(S)其中S输入参数,符号变量,R返回值,输入变量的最简形式,HOW 化简的方式,一个字符串。示例如下:>> syms x >> y = cos(x)^2+sin(x)^2;>> R = simple(y)R = 1 >> [r,how] = simple(y)r = 1...

matlab中,pwelch函数的使用方法
x就是你要处理的信号 window是窗函数 noverlap是分段平均时重合的部分 nfft是fft的点数 fs是采样频率

MATLAB simple 函数
simple(S),采用多种方法化简多项式,包括simplify,expand、factor、combine、radsimp、convert、collect 采用radsimp结果就是x 估计程序问题 >> syms x >> s=x^(2)^(1\/2);>> simple(s)simplify:csgn(x)*x radsimp:x combine(trig):(x^2)^(1\/2)factor:(x^2)^(1\/2)expand:(x^2)^...

matlab中有底特律法的函数吗
matlab中simple函数用于获取符号变量的最简形式,调用形式为:[R,HOW] = SIMPLE(S),其中:S 输入参数,符号变量 R 返回值,输入变量的最简形式 HOW 化简的方式,一个字符串

matlab中如何进行结果化简?
Matlab符号数学工具箱提供的两个化简函数simplify和simple,用法如下 simplify的调用格式为:simplify(S);对表达式S进行化简.simple是通过对表达式尝试多种不同的方法(包括simplify)进行化简,以寻求符号表达式S的最简形式.调用方式为:[r]=simple(S);r为返回的简化形式 ...

matlab的简化函数simple
>> syms x>> g2 =((2*x + 1)^3\/x^3)^(1\/3)g2 =((2*x+1)^3\/x^3)^(1\/3)>> g3=simple(g2)g3 =(2*x+1)\/x>> g4=simple(g3)g4 =2+1\/x上面之所以调用两次simple,是因为simple函数尝试多种代数化简方法并且从中得到最精简的那个表达式,但是有些情况下,真正最精简的...

MATLAB中simplify与simple指令有何异同
调用方式为:[r,how]=simple(S);r为返回的简化形式,how为化简过程中使用的一种方法。how有以下几种形式:(1)simplify 函数对表达式进行化简;(2)radsimp函数对含根式的表达式进行化简;(3)combine 函数将表达式中以求和、乘积、幂运算等形式出现的项进行合并;(4)collet合并同类项;(5)...

怎样定义matlab中的simple?
simple()是最少字符简化函数(低版本有),该代码在matlab R7.0中运行可以得到如下结果:R=-0.047015798628979699191887675624457*exp(-0.027777777777777777777777777777778*tau^2)*(erf(0.16666666666666666666666666666667*tau) - 1.0)

MATLAB中将复杂的式子简化的函数是什么?或者有什么方法也行!_百度知 ...
给你个简单的例子, syms y x y=x^2+2*x+1;simple(y)你直接运行下就会出现各种多项式化简函数: 如collect,combine具体化简函数的用法,你可以看看HELP,我以前化简很多参数的多项式都是用这个的。

密度函数已知,怎么用matlab求其数学期望和方差?
因为你的是密度函数,所以不会是离散型随机变量,如果你有概率密度函数的表达式的话,可以通过积分求得期望和方差,程序如下:sym x; %定义符号变量 p=f(x); %f(x)为密度函数的表达式;m=int(x*p,x,0,inf); %求期望 s=simple(int((x-m)^2*p,x,0,inf)); %求方差 最终得到的结果是一...

相似回答