MATLAB的solve函數求非線性解方程或方程組

2022-01-10 雲龍派

solve函數可用來求解代數方程(組)與非線性方程(組),具體使用格式如下:

solve('F','var'):用於求解單個方程情形,F表示求解方程,var表示求解變量。當求解變量省略時,表示對默認變量求解。若方程為符號方程,求解變量為符號變量時,上述格式中的單引號省略;

[x1,x2,…,xn]=solve('F1','F2',…,'Fn','var1','var2',…,'varn'):用於求解n個方程組成的方程組問題,F1, F2, …, Fn表示各個方程,var1, var2, …, varn表示各個求解變量,[x1,x2,…,xn]表示求解結果。

S = solve(eqn,var)

S = solve(eqn,var,Name,Value)

Y = solve(eqns,vars)

Y = solve(eqns,vars,Name,Value)

[y1,...,yN] = solve(eqns,vars)

[y1,...,yN] = solve(eqns,vars,Name,Value)

[y1,...,yN,parameters,conditions]=solve(eqns,vars,'ReturnConditions',true)

實例求解

1、求解單變量方程

clc;clear all;close all;syms xeqn = sin(x) == 1;solx = solve(eqn,x)

clc;clear all;close all;syms x  %是必要的,這將會把x設為符號變量eq=x^2+2*x+1;%eq也會變為一個符號變量用於儲存方程s=solve(eq,x)  %方程的結果由solve函數返回,存儲在s裡。注意(eq,x)中x是說明eq這個方程中x為變量%如果返回empty,則表明解不存在。如果返回empty+warning,則解可能存在,但是solve找不到

2、對方程組的求解

clc;clear all;close all;syms x yeq1 = x + 2*y-8;eq2 = 3*x+5*y-4;s1 = solve(eq1,eq2,x,y)s1.xs1.y[s11,s111] = solve(eq1,eq2,x,y)

3、返回數值解

%解析解(analytical solution):用嚴格的公式表示的解。%數值解(numerical solution):無法用嚴格的公式表示,是採用某種計算方法(有限元、逼近、插值)得到的。%symbolic solver無法找到精確的用符號表示的解,因此在調用numeric solver之前會事先聲明(warning)。因為等式不是多項式,所以想要找到全部可能的解需要很長時間。%numeric solver不會盡力去找等式的全部numeric solution,它僅僅返回它找到的第一個解。clc,clearsyms xsolve(sin(x)==x^2-1,x)%驗證上面的等式確實有一個正值解:畫出等式的左右兩部分的曲線ezplot(sin(x),-2,2)hold onezplot(x^2-1,-2,2)hold off%也可以直接用函數vpasolve求出數值解(需要定義(尋找)解的範圍)vpasolve(sin(x)==x^2-1,x,[0 2 ])

4、求解不等式

clc,clearsyms x yS=solve(x^2+y^2+x*y<1,x>0,y>0 , [x,y], 'ReturnConditions',true);solx=S.xsoly=S.yparams=S.parametersconditions=S.conditions%利用subs和isAlways檢驗u=7/2和v=1/2是否滿足約束條件isAlways(subs(S.conditions,S.parameters,[7/2,1/2]))%isAlways返回loogical 1(true)表示這些值滿足約束條件。將這兩個參數的值帶入(函數subs)S.x和S.y中,找到一個x和y的解solx=subs(S.x,S.parameters,[7/2,1/2])soly=subs(S.y,S.parameters,[7/2,1/2])%用函數vpa得到解的數值形式vpa(solx)vpa(soly)

5、返回實數解

clc,clearsyms xsolve(x^5==3125,x)%如果僅僅需要一個實數解,那麼就把選項Real設置成truesolve(x^5==3125,x,'Real',true)

6、符號解求解多變量方程

%為了避免求解方程時對符號參數產生混亂,需要指明一個等式中需要求解的變量。%如果不指明的話,solve函數就會通過symvar選擇一個變量(認為該變量是要求解的變量)clc,clearsyms a b c xsola=solve(a*x^2+b*x+c==0,a) %待求解的變量是asol=solve(a*x^2+b*x+c==0) %待求解的變量是x

MATLAB相關內容往期回顧

MATLAB中繪製三維圖形

MATLAB的輸入輸出input函數

matlab詳細介紹畫柱形圖

matlab中矩陣的入門知識

matlab中legend函數的用法

matlab繪圖--線性規劃圖解法示意

Matlab 進度條的製作

Matlab對fig文件導出數據

Matlab中plot函數全功能解析

Matlab的fmincon函數求解非線性規劃

MATLAB線性規劃函數求解線性規劃

MATLAB求解混合整數線性規劃

電子書推薦(一)《MATLAB在數學建模中的應用》

matlab GUI實現導入txt文件(含字符和數據的文本)

matlab 畫圖——誤差條圖errorbar函數(含視頻講解)

matlab多項式(定義、四則計算、求根)

Matlab中繪製不同坐標的圖形

Matlab 多項式擬合函數關係

層次分析法(AHP)在MATLAB中的應用

MATLAB的lsqcurvefit函數擬合非線性式子中的未知參數

MATLAB的fgoalattain()函數求解多目標規劃

基於MATLAB的灰色預測模型GM(1,1)計算的GUI界面

電子書推薦(二)《Matlab 從入門到精通 》

MATLAB曲線擬合工具箱

MATLAB的主成分分析的GUI界面計算

MATLAB《自動控制原理》相關編程

MATLAB的switch選擇語句和input輸入語句

MATLAB的switch選擇語句和input輸入語句視頻

MATLAB實例講解—求二元函數的極值

MATLAB實例講解—求二元函數的極值視頻

MATLAB的ode45函數實例求常微分方程數值解

MATLAB求解微分方程組—以一種傳染病的動力學模型求解為例

Matlab編程並繪製函數或者信號包絡線

MATLAB中regress函數用法(多元線性回歸)

MATLAB實例編程之一個成績分析和處理的程序實例講解

matlab中的歸一化處理的三種方法

電子書推薦(三)《運籌學基礎及其MATLAB應用》

MATLAB非線性擬合函數nlinfit函數

Matlab作圖後的調整—線條、坐標、標題、圖例

 MATLAB用GUI計算十進位轉換為二、八、十六進位

本文內容來源於網絡,僅供參考學習,如內容、圖片有任何版權問題,請聯繫處理,24小時內刪除。

相關焦點

  • MATLAB求函數的導數和偏導
    matlab求導命令diff調用格式:diff(函數),求的一階導數;diff(函數,n),求的n階導數(n是具體整數);diff(函數,變量名),求對的偏導數;diff(函數,變量名,n),求對的n階偏導數;matlab求雅可比矩陣命令jacobian,調用格式:jacobian([函數;函數;函數],[])給出矩陣
  • MATLAB的dsolve函數求微分方程的符號解
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB求數值積分方法(一)
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • 總結MATLAB的線性擬合和非線性擬合函數參數
    更多內容點擊文字,查看往期推文:MATLAB曲線擬合工具箱MATLAB相關內容往期回顧MATLAB中繪製三維圖形MATLAB的輸入輸出input函數matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法
  • MATLAB的拉格朗日插值
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB 與複數處理相關的函數
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB的stem函數繪製枝幹圖(實例加程序)
    'MarkerEdgeColor','green')MATLAB相關內容往期回顧MATLAB中繪製三維圖形MATLAB的輸入輸出input函數matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab
  • MATLAB中的數據插值函數
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB的ezplot函數繪製隱函數圖像
    matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃MATLAB線性規劃函數求解線性規劃
  • MATLAB二分法求方程的根(實例加程序)
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB繪製交互式圖形
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB 蒙特卡洛方法編程並舉例分析
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB牛頓法插值實例加程序
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB非線性擬合函數nlinfit函數
    [beta,r,j]=nlinfit(x,y,'model』,beta0) 其中,輸人數據x,y分別為n×m矩陣和n維列向量,對一元非線性回歸,x為n維列向量model是事先用 m-文件定義的非線性函數,beta0是回歸係數的初值, beta是估計出的回歸係數,r是殘差,j是Jacobian矩陣,它們是估計預測誤差需要的數據。
  • MATLAB處理NAN數據程序(含實例)
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • MATLAB繪製雙y軸圖形兩種方法
    yyaxis leftclaMATLAB相關內容往期回顧MATLAB中繪製三維圖形MATLAB的輸入輸出input函數matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖-
  • MATLAB中圖片保存的五種方法(一)
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • 雙十一特輯---MATLAB繪製愛心表白程序
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • Matlab 最優化求解
    Matlab 最優化求解1 線性規劃2 非線性規劃3   無約束問題matlab解法4 求解零點與方程組的解4.1 多項式4.2 符號解4.3 數值解4.4 方程組情形5 約束問題matlab解法6 其他一些命令6.1 fminbnd函數
  • Matlab基礎(四)
    目錄前言上一篇向大家介紹了「Matlab在高等數學上冊中的主要應用,」可以說一旦掌握這些指令的用法,大部分一元函數求極限、泰勒展開、求導、求積分解方程解代數方程(組)的求解是個永恆的話題,線性方程組很好解,直接利用線性代數理論即可。對於非線性方程組,在matlab裡面可以利用solve指令求解符號方程組(可以得到絕對的解析解,但是只對一些不太複雜的方程組有效),複雜的非線性方程組可以利用fzero和fsolve求解數值解。