I have plotted a graph in matlab with:

plot(x,y)

and my graph has different slopes, how do i draw tangents on each slope and calculate the coefficient for the slope?

解决方案

If you don't have an explicit function for the plotted points, you can use finite differences for estimating the derivative. The following is appropriate for points not on the border of the data span:

plot(x,y);

hold all;

% first sort the points, so x is monotonically rising

[x, sortidx] = sort(x);

y = y(sortidx);

% this is the x point for which you want to compute the slope

xslope = (x(1)+x(end))/2;

idx_a = find(x

idx_b = find(x>xslope,1,'first');

% or even simpler:

idx_b = idx_a+1;

% this assumes min(x)

xa = x(idx_a);

xb = x(idx_b);

slope = (y(idx_b) - y(idx_a))/(xb - xa);

Now drawing that slope, it depends on what you want: just a short line:

yslope = interp1(x,y,xslope);

ya_sloped = yslope + (xa-xslope)*slope;

yb_sloped = yslope + (xb-xslope)*slope;

line([xa;xb],[ya_sloped;yb_sloped]);

or a longer line

yslope = interp1(x,y,xslope);

xa = xa + 4*(xa-xslope);

xb = xb + 4*(xb-xslope);

ya_sloped = yslope + (xa-xslope)*slope;

yb_sloped = yslope + (xb-xslope)*slope;

line([xa;xb],[ya_sloped;yb_sloped]);

I'm pretty sure there're no bugs in this code, but I'll test it out when I have matlab around ;)

matlab如何画曲线的切线,Matlab-如何在曲线上绘制切线相关推荐

  1. matlab怎么画周期性竖直线,matlab怎么画阶跃函数波形,这些经验不可多得

    在学习理工科的过程中, matlab软件的使用是一个不可或缺的过程.对于初学者来说,学习matlab的时候编写一些程序难度确实比较大,因为初学者对于很多函数的使用都不是很熟悉.为了帮助初学者学习mat ...

  2. matlab 如何画二维图形,Matlab 学习 画图篇 一 二维图形

    matlab给绘制二维图形提供了很多的函数,把一些绘制二维图形的基本函数做成一张表,如下图所示: 我就按照表的顺序一一记录一些个函数的简略用法. 首先是 1.plot函数 plot函数有很多重载方法, ...

  3. matlab怎么画map图,用MATLAB自带的worldmap及相关函数画地图

    本文主要介绍MATLAB的函数-worldmap,包括使用语法.参数和栗子 语法 worldmap region worldmap(region) worldmap worldmap(latlim,l ...

  4. matlab如何画双x坐标,matlab画双坐标图

    整理了一下matlab画双坐标的代码,具体如下.如果想分别设置双坐标的label,可以设置Ylim,YTick和YTickLabel. clc;clear; x=1:20; y1=100*ones(1 ...

  5. matlab中画灯笼,新编使用Matlab画出圆台圆锥圆柱.doc

    新编使用Matlab画出圆台圆锥圆柱.doc 用Matlab画圆柱圆台圆锥 自己建一个M文件,命名任意,如tu.m 在命令窗口输入:tu %以下为tu.m文件 clc clear all %圆柱 [X ...

  6. 在matlab中画多个图,Matlab在一个图形窗口里画多个图形的详细教程

    原创Matlab在一个图形窗口里画多个图形的详细教程 编辑:佚名 来源:PC下载网时间:2019-11-18 13:35:08 对于Matlab软件各位应该还有不懂的地方,比如说想在一个图形窗口里画多 ...

  7. matlab经纬度画二维图,Matlab绘制汉经纬度的散点图 2

    clc clear all close all %读取excel中数据 data = xlsread('D:/metero.xlsx', 'sheet3', 'A2:G579'); %获取精度纬度 l ...

  8. matlab怎么画威布尔分布,matlab绘制威布尔分布曲线.docx

    matlab绘制威布尔分布曲线 MATLAB绘制威布尔分布曲线 威布尔分布概率密度函数: 威布尔分布概率分布函数: 其中m>0,是尺度参数也叫比例参数,a>0是形状参数.X是随机变量,是未 ...

  9. matlab中画反函数的图像,matlab中如何实现Q函数的反函数

    优质解答 Matlab中本身有Q函数,即qfunc() 其 反函数是qfuncinv() help qfuncinv qfuncinv Inverse Q function Syntax y = qf ...

最新文章

  1. 如何在使用eclipse的情况下,清理android项目中的冗余class文件和资源文件以及冗余图片...
  2. 文本信息检索基本知识【转】
  3. 《剑指offer》c++版本 8.二叉树的下一个结点
  4. 内网能PING通TELNET通不能访问解决
  5. 如何用python完成评分功能呢_从文件python进行单词分析和评分
  6. 不同场景下MySQL的迁移方案
  7. 银河证券王锦炎:大数据在金融领域应用
  8. 从事UNIX/LInux服务器编程最方便的代码编译工具------(eclipse for c/c++)、(FileZilla)、(Secure CRT) 这三种一定要一起使用 之3...
  9. about hamout cloudra
  10. YARP+AgileConfig 5分钟实现一个支持配置热更新的代理网关
  11. P2766-最长不下降子序列问题【网络流,dp】
  12. html拖拽模态框,可拖拽的谷歌样式纯javascript模态窗口插件
  13. Android应用程序创建桌面快捷方式
  14. Android App性能优化十技巧
  15. avast 8.0.1483 许可文件(杀毒软件免费激活)
  16. C语言动态规划——背包问题详解
  17. 通用PHM集成开发环境PIDE
  18. Python 3.8.7安装教程
  19. Spring Boot进阶(09):集成EasyPoi,实现Excel文件多sheet导入导出,你得会 | 保姆级教学,超级详细,建议收藏
  20. sqlserver 导入导出数据向导

热门文章

  1. 看我逆向小米rom层应用做碎片化适配
  2. SAP abap内表分类与增删改查操作
  3. 无锡蓝海华腾技术有限公司企业调研
  4. Linux中5种IO模型
  5. MapBar的Api使用简略说明(上)
  6. 抖音怎么看热门作品 手机视频md5修改工具下载
  7. 条件数cond函数(matlab)
  8. Python 清屏方法
  9. 【等保小知识】等保测评整体测评是什么意思?
  10. Chrome浏览器驱动安装