麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 了解odeset函數(shù)

了解odeset函數(shù)

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-20 20:01:50 1700481710

一、odeset函數(shù)

Matlab的ode求解器是用于解決常微分方程組(ODE)的函數(shù)。odeset函數(shù)可以使用戶控制其中大多數(shù)選項的值。這個函數(shù)返回一個structure。Odset結構體可以在ODE求解器中作為參數(shù)使用。ODE求解器采用Odset中指定的選項的值。用法如下:

options = odeset('Name1',value1,'Name2',value2,...)

options就是返回的structure,Name1,value1等為其可選項與值。

如下的代碼段,指定sine函數(shù)的初值問題求解器ode15s的舍入誤差容忍值為1e-3,絕對誤差容忍度為1e-6,并繪制結果:

tspan = [0,10]; 
y0 = 0; 
options = odeset('RelTol',1e-3, 'AbsTol', 1e-6); 
[t,y] = ode15s(@(t,y) sin(t),tspan,y0,options); 
plot(t,y)

二、odeset控制步長

在ODE的數(shù)值解法中,步長是決定數(shù)值穩(wěn)定性和解的精度的因素之一。ODE求解器用絕對誤差、相對誤差和幾個事件等條件進行調(diào)整。設步長和狀態(tài)的修改發(fā)生在離散塊中的固定時刻;當狀態(tài)改變時調(diào)用事件函數(shù)。ODE求解器使用odeset函數(shù)返回的選項結構來設置絕對和相對誤差容忍度、與事件相關的參數(shù)等值。下面的代碼演示使用options參數(shù)重式調(diào)整求解器ode45的默認步長:

tspan = [0,10]; 
y0 = [1,0]; 
options = odeset('RelTol', 1e-6, 'AbsTol',1e-10,'MaxStep',0.1); 
[t,y] = ode45(@odefcn,tspan,y0,options); 

function dydt = odefcn(t,y) 
dydt = [y(2); -y(1)]; 
end

MaxStep選項是指定最大步長,ode45設置的默認步長為0.1左右。

三、odeset中的reltol

相對最大誤差范圍,定義為 abs(當前步長計算的值-olsolve函數(shù)返回的值) / max(atol,abs(當前計算的值)* reltol)。定下來的認識是在與客觀測量數(shù)據(jù)進行比較時,如果求解器成功誤差要小于設定的容忍范圍,否則算法就繼續(xù)迭代并重新計算相應的步長 在線性求解器中,誤差通常按照量表T,解向量Y和時間變量T進行測量,通過向量來測量誤差。ODE45中reltol默認值是1e-3:

tspan [0,30]; 
y0 = [2 0]; 
options = odeset('RelTol',1e-2); 
[t,y] = ode45(@odefcn,tspan,y0,options); 

function dydt = odefcn(t,y) 
dydt = [y(2); -y(1)]; 
end

四、ode to,odeset兩個events耦合怎么寫

如果您要在多個例程中使用odeset選項,則可以創(chuàng)建一個options結構,然后將它傳遞給每個例程:

options = odeset('RelTol',1e-3); 
[t1,y1] = ode45(@odefcn,tspan,y0,options); 
[t2,y2] = ode23(@odefcn,tspan,y0,options);

它可以幫助改變相同的相對誤差,即盡管它的默認值不同。在ODE求解器中支持事件函數(shù)(式)。您可以在特定的時間進入或離開事件。每次輸入事件函數(shù)時,必須告訴ODE求解器是否計算相應的事件。 如果計算相應的事件,則必須提供一個組成向量的事件結果和指示哪個事件被觸發(fā)的事件檢測向量。最后,您必須告訴ODE求解器下一個時間段的結束時間。下面的示例展示了如何使用“ode23”甚至偶數(shù)次方運行情況:

tspan = [0 10]; 
y0 = 1; 
[D,c] = ode23(@ode1,tspan,y0,odeset('events',@ode2)); 
plot(D,c),xlabel('Time'),ylabel('Solution') 

function dy = ode1(t,y) 
dy = y; 
end 

function [value,isterminal,direction] = ode2(t,y) 
value = mod(t,2) == 0;     % 奇數(shù)次方 
isterminal = false;   %不終止迭代器 
direction = 0;    % 無方位可指定 
end 

五、odeset matlab

對于不同的求解器和問題,ODE求解器有很多選項設置。在控制求解器行為方面,odeset函數(shù)是個非常重要的函數(shù)。Matlab函數(shù)庫提供的ode45、ode23、ode113、ode15s等都適用odeset函數(shù),它們都包含多個選項和值。以下是一個示例,其中設定求解器ode45的初始步長為0.01,傭金步長為0.1,相對容錯為1e-6的絕對容錯為1e-10:

tspan = [0,10]; 
y0 = [2,2]; 
options = odeset('IntialStep',0.01,'MaxStep',0.1,'RelTol',1e-6,'AbsTol',1e-10); 
[t,y] = ode45(@(t,y) [y(2) ; -y(1)],tspan,y0,options); 
plot(t,y(:,1))

六、ode to you

ODE(Ordinary Differential Equation)是指普路伐斯微分方程,大學數(shù)學中的常微分方程概念。數(shù)學家們對ODE這個領域做了很多研究,除了很多解析方法,還有很多數(shù)值求解器。比如一些經(jīng)典的方法:歐拉法、改進歐拉法、龍格庫塔法(RK)等,它們都能幫助我們求解ODE問題,但是數(shù)值精度和時間效率不同。ode45函數(shù)是在所有數(shù)值求解器中精度和時間效率均衡的算法。因此,ode45是求解ODE問題的函數(shù),類似的函數(shù)還有:ode15s、ode23、ode23tb、ode113等。

七、ode to joy

在ODE求解器中,ode45函數(shù)用于求解常微分方程組,下面是一個關于ode45函數(shù)求解簡單雙擺的例子:

%簡單雙擺

tspan=[0,70];  % 時間范圍 
y0=[0,pi/2,pi/2,0]; %初值 

[t,y] = ode45(@fxy,tspan,y0);  % 返回時間刻度“t”和值“y”

%繪制紅色線條

line([0 2*sin(y(1,1))],[0 -2*cos(y(1,1))],'color','r') %擺錘1 
hold on 

line([2*sin(y(1,1)) 2*sin(y(1,1))+2*sin(y(1,2))],[-2*cos(y(1,1)) -2*cos(y(1,1))-2*cos(y(1,2))],'color','r') %擺錘2 
axis([-3 3 -3 3]); % 繪圖區(qū)間 
whitebg('w');  % 背景顏色 
box('on')  % 繪制邊界 
title('Double Pendulum')  % 標題 
xlabel('x (m)')  % x軸標簽 
ylabel('y (m)')  % y軸標簽 

% 第一列與第三列

function dy = fxy(t,y)

 g=9.8;  % 重力加速度 
 l = 2;  % 擺桿長
 dy=zeros(4,1);
 dy(1)=y(2); 
 dy(2)=(-g*2*sin(y(1))-2*sin(y(1)-y(3))*((y(4)^2)+(y(2)^2)*cos(y(1)-y(3))))/(2-l*cos(y(1)-y(3))^2); 
 dy(3)=y(4); 
 dy(4)=(2*sin(y(1)-y(3)))*((y(2)^2)+(2*g*cos(y(1))) +(y(4)^2)*cos(y(1)-y(3)))/(2-l*cos(y(1)-y(3))^2); 

八、ode to a nightingale

Matlab的ode求解器是用于解決常微分方程組(ODE)的函數(shù),odeset函數(shù)可以使用戶控制選項的值。ode生態(tài)系統(tǒng)中有一個很大的工具箱,可以輕松解決大多數(shù)的ODE問題。ond45是其中一種求解器,能夠順利解決大多數(shù)的知名ODE問題。

以下是ode45函數(shù)的代碼實現(xiàn):

tspan = [0,10]; %時間范圍 
y0 = [1, 0]; % 初值 
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-5]); %選項 
[t,y] = ode45(@model,tspan,y0,options); % 函數(shù)調(diào)用 

function dydt = model(t,y) 
dydt = zeros(2,1); 
dydt(1) = y(2); 
dydt(2) = -4*y(1) - 2*y(2); 
end 

plot(t,y(:,1)) 

tags: 刪除npm
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取

上一篇

C# URL編碼詳解

下一篇

data-index
相關推薦HOT
主站蜘蛛池模板: 啊轻点灬大巴太粗太长了视频| 宝贝过来趴好张开腿让我看看| 国产嫩草影院在线观看| 好吊妞免费视频| 美女被免费视频网站| 韩国出轨的女人| 欧美性大战久久久久久久| 奇米网奇米色| 国产黄色一级毛片| 春日野结衣女女| 黑人干| 葫芦里不卖药葫芦娃app| 国产色av| 亚洲欧美综合国产精品一区 | 全彩本子里番调教仆人| 舌头伸进去里面吃小豆豆| 三级毛片在线看| 亚洲人成网站在线播放2019| 一级一毛片a级毛片| 2017狠狠干| 草久视频在线观看| 三奸在线看| 老师你的兔子好软水好多的车视频| 国产99视频精品免视看7| 两根手指就抖成这样了朝俞| 成人韩免费网站| 国产精品美女久久久久| loveme动漫在线观看免费| 一个人看的视频在线| 日韩精品免费在线视频| 大陆三级特黄在线播放| 三上悠亚伦理| 中文字幕在线视频免费观看| 女欢女爱第一季| 新梅瓶4在线观看dvd| 四虎影院在线播放视频| 水蜜桃免费视频| 亚洲欧美成aⅴ人在线观看| 欧美人善交videosg| 红色一片免费高清影视| 成年女人在线视频|