遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

一个函数与其导数的图象绘制

 

% x*(1-x)^(2/5)
% 对上面函数求导

% 2/5 2 x
% (1 - x) - ------------
% 3/5
% 5 (1 - x)

%该式在x>1 时由于 3/5次方存在变的无意义
%所以要使用下面的等价形式求导
diff(x*(x-1)^(2/5)) %当x>1时函数等价形式

ezplot('(2*x)/(5*(x - 1)^(3/5)) + (x - 1)^(2/5)',[1.01,2])

 

//==============绘制曲线与曲线指定点密切圆======================

复制代码
clc
clear
close
format long
syms x y
t0=1.001;
t=-1:0.001:5;
x1=t;
y1=t.*(t-1).^(2/5);
z1=t*0;
plot(x1,y1);
hold on
Rx0=t0;
Ry0=t0*(t0-1)^(2/5);
plot(Rx0,Ry0,'*');

grid on
axis equal



df=diff(x);
dg=diff(x*(x-1)^(2/5));
df2=diff(df);
dg2=diff(dg);
k=abs(df*dg2-dg*df2) / (df^2+dg^2)^(3/2);
% pretty(k)
kt0=subs(k,t0);
df0=subs(df,t0);
dg0=subs(dg,t0);
Nx0=dg0/sqrt(dg0^2+df0^2);
Ny0=-df0/sqrt(dg0^2+df0^2);

Cx0=Rx0 + (1/kt0) *Nx0;
Cy0=Ry0 + (1/kt0) *Ny0;
plot(Cx0,Cy0,'*')

x2=Cx0+cos(t)*(1/kt0);
y2=Cy0+sin(t)*(1/kt0);
plot(x2,y2);
double(kt0)
%n=-dg i+df j
%n=dg i- df j

% eval(solve('3*t/sqrt(1+t^2)=2.281'))
View Code
复制代码

 

posted on   遗忘海岸  阅读(717)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2012-03-10 EF无法更新错误
点击右上角即可分享
微信分享提示