matlab快速入门(读取数据并绘制散点图和拉格朗日插值

目录

  • 1.读取excel:
  • 2.注释快捷键:
  • 3.数组/矩阵索引:
  • 4.绘制散点图:
  • 5.拉格朗日插值:
      • 5.1分割出非空和空的x和y两组数据:
      • 5.2插值:
      • 5.3画图:
  • 小结:

1.读取excel:

[num,txt,raw]=xlsread(<路径>, [<第几张表>, <范围>])

num返回的是excel中的数据矩阵,txt输出的是文本内容,raw输出的是未处理数据
后两项参数可以选择不放
例如:(我们一般只要num)

[num]=xlsread('D:\系统默认\桌面\数据可视化作业\1 课设\土地利用情况.xlsx', 2)

结果:
在这里插入图片描述

2.注释快捷键:

添加注释:选中要注释的语句,快捷键:ctrl+r
取消注释:选中要取消的语句,快捷键:ctrl+t

3.数组/矩阵索引:

Matlab 中的数组索引是从 1 开始的,因此使用索引 0 是无效的。
索引使用的和其他语言不一样,matlab使用的是中括号
以下是对矩阵行和列的索引

A(i,:) %提取矩阵A的第 i 行
A(:,i%提取矩阵A的第 i 列

例如:

num(:, 1)

结果:
在这里插入图片描述

4.绘制散点图:

scatter(x, y)	% x 和 y 必须是长度相等的向量
% 该类型的图形也称为气泡图

例如:

scatter(num(:, 1), num(:, 2))

结果:
在这里插入图片描述

5.拉格朗日插值:

5.1分割出非空和空的x和y两组数据:

这里用到了循环和条件语句

例如:

xnnull = [];
ynnull = [];xnull = [];for i = 1: size(num, 1)if isnan(num(i, 2))xnull = [xnull, num(i, 1)];elsexnnull = [xnnull, num(i, 1)];ynnull = [ynnull, num(i, 2)];end
endxnnull
ynnull
xnull

结果:
在这里插入图片描述

5.2插值:

新建一个名叫Lagrange.m的脚本即可,用于放函数定义:(这是别人写好的代码,借鉴的别的博主的)

function y0 = Lagrange(x,f,x0)
y0 = [];
%得出数据点的个数
n = length(x) ;
%得出插值点的个数
m = length(x0);for i = 1:mD = x0(i);y = 0.0;for k = 1:n%置l(x)的初值l = 1.0;for j = 1:n%迭代表示出l(xj)%记住,第k个是取不到的!!!!if j~=kl = l*(D-x(j))/(x(k)-x(j));endend%Pn(x)y = y + l*f(k);endxx = num2str(D,'%.4f');y0 = [y0, y];y =num2str(y,'%.4f');disp('f(x)的近似值点坐标为:');disp(['(',xx,',',y,')']);end
end

例如:

Lagrange(xnnull,ynnull,xnull);

结果:
在这里插入图片描述

5.3画图:

例如:(获取到返回值,得到的是插值的结果矩阵)

ynull = Lagrange(xnnull,ynnull,xnull);

结果:
在这里插入图片描述

然后把这两组xy拼起来画连线图

plot(x,y)	% 放入xy即可

但是,我们这是还需要排序一下x和y,再画图:
例如:

% 先合并成两行
C = [[xnnull, xnull]; [ynnull, ynull]];
% 按第一行排序,这里要用到转置
C = sortrows(C.', 1).';
% 画图
plot(C(1, :), C(2, :), '.-')	% 绘制带点的线图

结果:
在这里插入图片描述

小结:

关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
由于本号流量还不足以发表推广,搜我的公众号即可:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/409595.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI对决:ChatGPT与文心一言的比较

文章目录 引言ChatGPT与文心一言的比较Chatgpt的看法文心一言的看法Copilot的观点chatgpt4.0的回答 模型的自我评价自我评价 ChatGPT的优势在这里插入图片描述 文心一言的优势AI技术发展趋势总结 引言 在过去的几年里&#xff0c;人工智能&#xff08;AI&#xff09;技术取得了…

十、Qt 操作PDF文件

《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时&#xff0c;几种窗体的区别》 《七、Qt 信号和槽》 《八、Qt C 毕业设计》 《九、Qt …

Jenkins集成Sonar Qube

下载插件 重启Jenkins 容器 sonarqube 使用令牌 Jenkins 配置 重新构建

部署SD-WAN需要哪些设备和软件?

企业网络需求不断增加&#xff0c;越来越多的企业选择采用SD-WAN组网以提升网络性能和管理效率。在部署SD-WAN组网专线时&#xff0c;需要一系列特定的设备和软件来支持和管理网络。本文将对这些设备和软件进行详细介绍。 SD-WAN控制器&#xff1a; SD-WAN控制器是SD-WAN组网的…

vue3实现动态侧边菜单栏的几种方式总结

基于自建json数据的动态侧边菜单栏 后端接口json数据 src/api/menuList.js const menuList [{url: ,name: 人员管理,icon: icon-renyuan,menuId: 1,children: [{url: /user,name: 用户管理,icon: icon-jurassic_user,menuId: 1001,children: []},{url: /role,name: 角色管…

Qt第二周周二作业

代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();void paintEvent(…

smartgit选择30天试用后需要输入可执行文件

突然有一天smartgit提示到期了&#xff0c;我按照以往那样删除license和preferences文件后&#xff0c;选择30天试用&#xff0c;弹出了需要选择git可执行文件。 我尝试选择了我的git.exe&#xff0c;发现根本不行&#xff0c;提示让我执行下git --version 执行过后提示我的.gi…

力扣hot100 颜色分类 双指针 滚动赋值

Problem: 75. 颜色分类 文章目录 思路解题方法复杂度Code&#x1f496; 超简洁版 思路 解题方法 描述你的解题方法 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution { public void sortColors(int[] nums){int n nums.length…

单列的堆叠柱状图

目的 MSingleColumnStackBarChart类被设计用于创建只有单列的堆叠柱状图&#xff0c;用于血糖数据的统计。以下是封装这个类的目的的详细描述&#xff1a; 抽象复杂性&#xff1a; 通过创建MSingleColumnStackBarChart类&#xff0c;你将复杂的MPAndroidChart库的使用和配置封…

NET Core发布 HTTP Error 500.31 - Failed to load ASP.NET Core runtime

记录一下踩过的坑&#xff1a; 首先&#xff0c;不论是500.31还是500.30 &#xff0c;首先确保安装了三个文件 1.NET Core RunTime 2.NET SDK 3.NET Hosting 其次&#xff0c;确保三个文件的版本一致&#xff0c;如下&#xff1a; 要装就统一装同一个大版本&#xff0c;不要东…

Ubuntu12.0安装g++过程及其报错

Ubuntu12.0安装g过程及其报错 https://blog.csdn.net/weixin_51286763/article/details/120703953 https://blog.csdn.net/dingd1234/article/details/124029945 2.报错二&#xff1a; [41/80] Building CXX object absl/synchronization/CMakeFiles/graphcycles_internal.di…

VMware Vsphere 日志:用户 dcui@127.0.01已以vMware-client/6.5.0 的身份登录

一、事件截图&#xff1a; 二、解决办法 原因&#xff1a; 三、解决办法 1.开启锁定模式 2.操作 1、从清单中选择您的 ESXi 主机&#xff0c;然后转至管理 > 设置 > 安全配置文件&#xff0c;然后单击锁定模式的编辑按钮 2、在打开的锁定模式窗口中&#xff0c;选中启…