日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab subs eval,MATLAB里计算表达式的值:subs函数与eval、vpa、double等配合使用

發布時間:2023/12/16 循环神经网络 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab subs eval,MATLAB里计算表达式的值:subs函数与eval、vpa、double等配合使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MATLAB里 subs 函數與 vpa / double / eval 函數的配合使用

subs() 是MATLAB提供的一個函數,用于在包含變量的表達式中給變量賦值并求表達式的值。

“Symbolic substitution” Description:

subs(s,old,new) returns a copy of s, replacing all occurrences of old with new, and then evaluates s.

僅看定義,很容易誤以為這個函數可以直接輸出數值。然而吃一塹長一智的我發現事情并沒有這么簡單

例如,想把q向量的三個分量的值賦給變量q1 q2 q3,并求得 f 表達式的值:

syms q1 q2 q3;

f_expression=q1+2q2+3q3;

q=[1;2;3];

f=subs(f,[q1 q2 q3],[q(1) q(2) q(3)])

直接在命令行里執行,可以看到代入數值后算出的 f 表達式的值,但仔細看看就會發現變量區里 f 的類型是sym(符號),而不是數值!

也就是說,subs函數將變量賦值代入表達式計算后,并沒有直接輸出數值類型的結果。

查了半天,最后還是靠 MATLAB 的官方文檔解決了問題:

Substitute parameter a with a floating-point number. The toolbox converts numbers to floating-point values, but it keeps intact the symbolic expressions, such as sym(pi), exp(sym(1)), and so on.

Approximate the result of substitution with floating-point values by using vpa on the result returned by subs.

概括:subs函數雖然可以給變量賦值,但仍然會保留完整的符號表達式。

如果想得到代入變量的表達式的浮點數結果,可以使用 vpa() 函數或 double() 函數(轉為雙精度浮點數)或 eval() 函數(執行表達式)等進行轉換:

f=vpa(subs(f,[q1 q2 q3],[q(1) q(2) q(3)])); or

f=double(subs(f,[q1 q2 q3],[q(1) q(2) q(3)])); or

f=eval(subs(f,[q1 q2 q3],[q(1) q(2) q(3)]))

參考:MATLAB文檔

總結

以上是生活随笔為你收集整理的matlab subs eval,MATLAB里计算表达式的值:subs函数与eval、vpa、double等配合使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。