台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numerical differentiation
台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numeric differentiation
复习:diff()函数用来计算vector前后 entry的差异
数值微分继续
various step size 不同Δx大小
不同Δx大小,看近似值和真正函数值之间的差异大不大。
看题目,用不同的h值计算函数f(x)=sin(x)的导数,画出图形
The derivatives(导数) of f(x)=sin(x) calculated using various h values
codes:
g=colormap(lines);hold on;
for i=1:4%为了给出不同的h值x=0:power(10,-i):pi;%power(10,-i)表示10的-i次方
y=sin(x);
m=diff(y)./diff(x);%算是计算导数
plot(x(1:end-1),m,'color',g(i,:));%x(1:end-1)因为diff差值,vector维度少一
end
hold off;set(gca,'xlim',[0,pi/2]);%设置x轴横坐标范围
set(gca,'ylim',[0,1.2]);
set(gca,'xtick',0:pi/4:pi/2);%设置x轴坐标间隔
xticklabels({'0','\pi/4','\pi/2'});%显示pi
set(gca,'fontsize',18);%设置字体
h=legend('h=0.1','h=0.01','h=0.001','h=0.0001');%设置图像名称
set(h,'fontname','Times New Roman');
box on;%右上边框显示
代码的解释
colormap回顾:colormap输入参数的用法
plot(x(1:end-1),m,‘color’,g(i,:));的解释:
%x(1:end-1)因为diff差值,vector维度少一,所以需要end-1。这里color用的是g(i,:),由于g是colormap中的lines颜色图,颜色图是一个矩阵matrix,这里应该是二维的,g(i,:)取的是这个矩阵的第i行元素,我的理解是一个行向量,然后赋值给了color显示出来。
运行结果:
作业题:
给定一个函数,用不同的h值计算近似导数
我的代码:
g=colormap(lines);%颜色
hold on;
%先来确定x的范围:
for i=1:3x=0:power(10,-i):2*pi;%不同的h 步长y=exp(-x).*sin(x.^2/2);%函数表达式需要点乘m=diff(y)./diff(x);%差分,求导plot(x(1:end-1),m,'color',g(i,:));
end
hold off;%下面是一些设置
box on;
set(gca,'fontsize',18);
set(gca,'xlim',[0,2*pi]);%x轴范围
set(gca,'ylim',[-0.3,0.3]);%y轴范围
set(gca,'xtick',0:pi/2:2*pi);%刻度
xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'});%显示刻度
legend('h=0.1','h=0.01','h=0.001');%函数标头
有个问题:这个函数表达式是两个函数相乘的形式,中间是用*还是用.*点乘?
实验结果:
y=exp(-x).*sin(x^2/2);(错误)
计算这个表达式正确的形式
y=exp(-x).*sin(x.^2/2);
我的练习结果:
下一个题目是
二次和三次微分second and third derivatives
the second derivative f’’ and third derivative f’’’ can be obtained using similar approaches
举例子:
例程代码:
x=-2:0.005:2;
y=x.^3;
m=diff(y)./diff(x);%一次微分
m2=diff(m)./diff(x(1:end-1));%二次微分plot(x,y,x(1:end-1),m,x(1:end-2),m2);%作图
xlabel('x','fontsize',18);
ylabel('y','fontsize',18);
legend('f(x)=x^3','f''(x)','f'''(x)',4);%函数标头
set(gca,'fontsize',18);
【注意】每做一次微分,entry就少一个。
运行结果:
总结一下:
数值微分主要使用diff()函数。需要注意的是做一次微分,entry减少一,就是vector维度少一个。
一次微分:m=diff(y)./diff(x);%一次微分
二次微分:m2=diff(m)./diff(x(1:end-1));%二次微分
台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numerical differentiation相关推荐
- 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分
台湾国立大学郭彦甫Matlab教程笔记(14) today: polynomial differentiation and integration多项式微分与积分 numerical differen ...
- 台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration
台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration 数值积分 calculating the numerical value of a definite inte ...
- 台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下
台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下 上文记录的是关于统计的图标的绘制 下面我们来到另一个模块:颜色 fill()填充函数 功能:某一个封闭曲线,图上特 ...
- 台湾大学郭彦甫matlab百度云,台湾国立大学郭彦甫Matlab教程笔记(23) linear systems...
台湾国立大学郭彦甫Matlab教程笔记(23) linear systems linear system线性系统 线性系统和线性方程组实际上是解决的两类不同的问题. 下面一个系统.这个系统 是一个矩阵 ...
- 台湾大学郭彦甫matlab讲义,台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration...
台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration 数值积分 calculating the numerical value of a definite inte ...
- 台湾国立大学郭彦甫Matlab教程笔记(23) linear systems
台湾国立大学郭彦甫Matlab教程笔记(23) linear systems linear system线性系统 线性系统和线性方程组实际上是解决的两类不同的问题. 下面一个系统.这个系统 是一个矩阵 ...
- 台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix逆矩阵法)
台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix) matrix left division左除:\ or mldivide() solvi ...
- 台湾国立大学郭彦甫Matlab教程笔记(21)linear equations(高斯消去法和追赶法)
台湾国立大学郭彦甫Matlab教程笔记(21) today: linear equation 线性方程 linear system 线性系统 我们先看第一部分 linear equation 假定一个 ...
- 台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric)
台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric) symbolic vs. numeric符号法和数值法的区别对比 symbolic 1)advantages ...
最新文章
- 关注基于云的下一代应用开发
- Kaldi不支持Cuda10_1版本
- 用python绘制漂亮的图形-python如何画出漂亮的地图?
- IIS发生意外错误0x8ffe2740
- mysql中怎么删除表中的一列数据_mysql如何删除表中一行数据?
- Private Inheritance(what, where)
- java 获取mysql路径_如何使用JPQL收集MySQL基本路径?
- [Java] 蓝桥杯PREV-3 历届试题 带分数
- SQL 数据库基本操作
- ServerGuide U盘安装Windows Server 2008 R2安装
- zip 和rar 的区别
- 将cpp文件封装成 so 文件并调用
- 谷歌董事长施密特:乔布斯是25年来最成功CEO
- 《大道至简-软件工程实践者的思想》读书笔记
- mysql 分组查询最新
- outlook从服务器中恢复已删除项目,恢复邮箱中的已删除邮件:Exchange 2013 帮助 | Microsoft Docs...
- CAD设置靶心的大小
- 用三个词来描述你对人生的理解
- 数据结构完整性是指数据的正确性、有效性、相容性!
- 数据结构实战-死磕王争
热门文章
- Window 10 :如何彻底关闭:Windows Defender Service(2015-12-20日更新)
- zoj 1962 How Many Fibs?(字符串化为数字处理)
- 第二十三模板 18标准模板库
- 两个场景怎样合在一起_Spring AOP应用场景你还不知道?这篇一定要看
- linux暂停线程和恢复,是否有可能在Linux [暂停]中检测到线程已进行上下文切换?...
- 【Paper】2017_Limit-Cycle-Based Decoupled Design of Circle Formation Control with Collision Avoidance
- 虚指针的用法(原出处//http://blog.csdn.net/haoel/article/details/1948051)
- TCL with SNPS - get_object_namesizeof_collectionstring
- Altium.Designer的学习视频 分享~~
- IDEA热布署报错java.lang.IllegalStateException: Restarter has not been initialized