MATLAB习题练手(入门级)

最近在学MATLAB,如果没有习题练手怎么也记忆不牢固,因此,下面有几道习题对MATLAB基础知识进行训练,帮助大家尽快熟练上手MATLAB。
【注】:请务必独立思考后再看参考程序,这样才能提高编程能力。

1.使用cell进行数据分组

任务说明:
读入usedata.mat文件,该数据包含多组测试数据,第一列为数据标号,用于区分各组数据;第二列为各数据点的x;第三列为各数据点的y;
(资源参考:https://download.csdn.net/download/didi_ya/12997609(免费,无需积分))
达成功能
将所给文件的数据相同数据标号的数据分到一个cell中。

使用到的知识点:cell。


代码示例:

clear all;clc;
load usedata.mat%加载usedata.mat文件
%usedata(:,1);
linename=unique(usedata(:,1));%从小到大排序且不含重复项,即组名
[linenum,~]=size(linename);%有几个组
linedatanum=zeros(linenum,2);%初始化
linedatanum(:,1)=linename;%第一列为组标号
for kk=1:linenum%1:10
    [m,n]=find(usedata(:,1)==linename(kk,1));%遍历找到每一个组的行数和列数
    line1=usedata(m,:);%一次取出一个组的内容
    linedatanum(kk,2)=size(line1,1);%求该组的行数,并转化为向量形式
end

C=mat2cell(usedata,linedatanum(:,2))%将文件内的数据转换为若干个元胞数组

【注】:关于函数find和unique的详细解释及用法,可参考MATLAB官方文档:
https://ww2.mathworks.cn/help/pdf_doc/matlab/matlab_refbook_zh_CN.pdf

2.

(未完待续)

有其它任何疑问也欢迎评论区告知~

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wendy_ya

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值