【matlab 官方刷题网站cody】题目解答积累 您所在的位置:网站首页 有查题的吗 【matlab 官方刷题网站cody】题目解答积累

【matlab 官方刷题网站cody】题目解答积累

2023-08-11 23:46| 来源: 网络整理| 查看: 265

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

为加强自身在使用matlab时编程的思维逻辑,所以记录下刷题过程中遇到的一些问题以及问题总结,欢迎各位一起探讨。

MATLAB Cody是MathWorks官方的通关形式题库,问题丰富,涉及面广,Cody Challenge是面向新手的题库,由易到难,帮助大家掌握基础,并感受matlab矩阵化运算的特点。

目录 刷题前的准备 开始刷题 2021.3.14  天气阴 刷题前的准备 题库网址:https://ww2.mathworks.cn/matlabcentral/cody/problems需要注册一个账户:刷题时需要注册账户,但由于我的学校并没有购买激活秘钥,于是我询问了一些同学,他们学校也没有激活秘钥。后来我的解决方案,就是直接进行账户注册,在使用激活秘钥时,可以使用别的学校的秘钥(微信搜索“MATLAB激活秘钥”可以找到一些学校的秘钥),然后就注册成功了可以刷题了,哈哈 开始刷题 2021.3.14  天气阴 题目1:给定变量x作为输入,将其乘以2并将结果放入y中。

示例:

Input x = 2 Output y is 4 Input x = 17 Output y is 34

解决:

function y= times2(x) y=2*x; end

思考:难度较低,主要考察函数的基本使用,以及数值计算的基本规则。

题目2:通过将元素括在方括号中来创建矢量,如:x =[1 2 3 4] 或x =[1,2,3,4]。创建向量 x = [1 2 3 4 5 6 7 8 9 10],寻找一种更快的方法。 function x=oneToTen x=1:10; end

思考:难度较低,需要了解如何能简化矩阵的表达。

2021.3.15  天气阴 题目3:找到输入向量的所有数字的总和

     示例:

Input x = [1 2 3 5] Output y is 11 Input x = [42 -1] Output y is 41

     解决:

function y = vecsum(x) y = sum(x) end

    思考:主要考察矩阵元素相加的函数sum的使用,A=sum(B,1)表示每列相加,A=sum(B,2)表示每行相加。

题目4:制作一个棋盘格矩阵

     示例:

Input n = 5 Output a is [1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]

    解决:

function a = checkerboard(n) a = ones(n); a(2:2:n,1:2:n) = 0; a(1:2:n,2:2:n) = 0; end

     思考:由于是矩阵元素1比较多,所以利用ones函数构造全1的函数,然后,发现矩阵元素的分布具有一定的规律,令其等于0即可。

2021.3.17  天气阴 题目5:三角数问题

  示例:

6 = 1 + 2 + 3 Input n = 4 Output t is 10

    解决:

我的代码: function t = triangle(n) t=0; for i=1:n t0=i; t=t0+t; end end 别人的代码: function t = triangle(n) t = sum(1:n) end

   思考:对此类叠加问题,我的第一想法就是循环叠加。但要改掉这一问题,要多使用已有函数,少用for循环,降低时间复杂度。

题目6:选择向量的任何其他元素

  示例:

Input x=[1 3 2 4 3 5] output y is [1 2 3 ] Input x=[5 9 3 2 2 0 -1] output y is [5 3 2 -1]

    解决:

function y= everyOther(x) y=x(1:2:end); end

   思考:数组矩阵(向量)的选择和创建。

题目7:去除向量的某列

  示例:

Input A =[1 2 3 ; 4 5 6 ]; n=2 Output B=[1 3; 4 6];

    解决:

function B=column_removal(A,n) A(:,n)=[]; B=A; end

   思考:需要知道矩阵行列的删除方式,即只需要将该行或者该列赋予一个空矩阵[]即可。

题目8:两个数相加

    解决:

function c=add_two_numbers(a,b) c=a+b; end

   思考:比较简单,略。

题目9:

 

 

 

 

 

 

 

 

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有