切線法求解matlab實現,求教用matlab求曲線的斜率或切線的方法

2021-05-30 13:37:51 字數 1914 閱讀 4610

1樓:碧血玉葉花

牛頓切線法的matlab主程式:

function [k,xk,yk,piancha,xdpiancha]=newtonqx(x0,tol,ftol,gxmax)

x(1)=x0;

for i=1: gxmax

x(i+1)=x(i)-fnq(x(i))/(dfnq(x(i))+eps); piancha=abs(x(i+1)-x(i));

xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1;

xk=x(i);yk=fnq(x(i)); [(i-1) xk yk piancha xdpiancha];

if (abs(yk)gxmax

disp('請注意:迭代次數超過給定的最大值gxmax。')

k=i-1;   xk=x(i);[(i-1) xk yk piancha xdpiancha];

return;

end[(i-1),xk,yk,piancha,xdpiancha]';

裡面有可能符號是中文下的,朋友注意一下就ok了!

求教用matlab求曲線的斜率或切線的方法

2樓:匿名使用者

用matlab求曲線的斜率或切線的方法,就是按照微積分的方法求解是一樣的,則不過是matlab語言去描述。例如,求曲線y=x²在點(1,1)的切線方程。

第一步:對方程y=x²求一次導數

>>syms x  %宣告變數

>>y=x^2;  %函式表示式

>>dy=diff(y,1)  %一次導數   y'=2*x第二步:求在點(1,1)處的斜率

>>x=1;

>>k=eval(dy)   %斜率 k=2第三步:求在點(1,1)處的切線方程

>>x0=1;y0=1;

>>syms x,y=k*(x-x0)+y0   %切線方程  y=2*x-1

怎麼用matlab在曲線上畫切線

3樓:雨中

x = linspace(-2*pi,2*pi,1000);

y = sin(x);

n = 300;

x0 = x(n); %切點橫坐

標y0 = y(n);

k1 = (y(n)-y(n-1))/(x(n)-x(n-1));

k2 = (y(n+1)-y(n))/(x(n+1)-x(n));

k = (k1+k2)/2; %切線斜率x1 = [-2*pi 2*pi]; %切線座標y1 = k*(x1-x0)+y0;

plot(x,y,'k-',x1,y1,'r-');

4樓:莊彭鍾元愷

畫曲線的切線matlab沒有現成的函式。

一般要先求點的切線方向,這根你

具體的樣本點連線情況有關。需要根據具體情況分析。

最簡單的方法:對於第k點,使用非常臨近的k-1和k+1這兩點以他們連線的斜率作為切線方向,

然後過該點,作所得方向的直線。

舉個例子:

clear;

clc;f=

@(x)

x.^2;x=

0:0.1:10;y=

f(x);

plot(x,y);

hold

on;x0=5;

y0=f(x0);x1=

x0+0.1;y1=

f(x1);x2=

x0-0.1;y2=

f(x2);k=

(y2-y1)/(x2-x1);b=

y0-k*x0;ff=

@(x)

k*x+b;yy=

ff(x);

plot(x,yy)

需要解釋的話可以追問

matlab求中值,求教,matlab中如何求特徵值?

clear all close all clcr 50 m 0 r 1 y0 for n 1 r a rand 1,r 0.4 b round a generate impulse noise s 2 m.0.9.m generate signal x s b impulse noise corru...

matlab作業求解,求大神,matlab的作業,,,求大神解

第1問 冒號生成法 x 0 2 pi 9 2 pi 線性定點法 x linspace 0,2 pi,10 第2問 a rand 3,5 num 8 假設8是學號末位數 i1 find a num 0.1 單下標 i,j ind2sub size a i1 元素單下標標識轉換為該元素在矩陣中對應的全下...

求用matlab寫小程式,求用matlab寫一個小程式

內容來自使用者 夢見天亮11 num2str 變數值為字串 int2str 變整數為字串 str2num 變字串為數值 sprintf 變數值為格式控制下的字串 sscanf 變字串為格式控制下的數值 1.分段函式 for x pi 6 pi 10 6 pi y sin x if y 0 y 0 e...