计算方法实验1:熟悉MATLAB 环境

一、问题描述

熟悉MATLAB 环境。

二、实验目的

了解Matlab 的主要功能,熟悉Matlab 命令窗口及文件管理,Matlab 帮助系统。掌握命令行的输入及编辑,用户目录及搜索路径的配置。了解Matlab 数据的特点,熟悉Matlab 变量的命名规则,赋值语句及输出的格式。掌握矩阵的建立、曲线绘制等。

三、实验内容及要求

  1. MATLAB 环境导览

    (1)启动MATLAB,介绍MATLAB 的主要界面,包括命令窗口、编辑器、工作区和当前文件夹;

    (2)演示如何创建新的MATLAB 脚本文件,以及如何保存和打开MATLAB 文件。

  2. 基本操作和数学运算

    (1)在命令窗口实现MATLAB 中的基本数学运算,如加法、减法、乘法和除法;生成n*m的矩阵(随机矩阵、全0 阵、全1 阵、对角矩阵各一个),并将矩阵以变量A 命名;

    (2)创建MATLAB 脚本文件,通过迭代方法实现。每次迭代后都利用fprintf 函数显示"第...次迭代结果为...(注意此处数值显示设置为保留到小数点后6位)";

  3. 绘图

    (1)绘制y = x^2 (x∈ [−1,1] 的函数曲线。(利用figure和plot 语句,在x∈ [−1,1])

    中以某一步长进行均匀采样得离散点进行绘制,步长自定,可设置为0.1,0.2,0.05 等)

    (2)将(1)中曲线绘制代码封装为一个函数,输入参数k 为采样步长,并在命令窗口调用该函数,观察k 取值不同时曲线的不同。


四、算法原理

  1. 内容1:MATLAB 环境导览,由于是基础的环境介绍,不需要算法原理。

  2. 内容2:基本操作和数学运算。

    • (2) 对于迭代方法实现的求和,我们可以使用一个简单的循环来完成求和操作。MATLAB代码如下:

      matlab 复制代码
      sumValue = 0;
      for i = 1:10
          sumValue = sumValue + 1/i;
      end
  3. 内容3:绘图。

    • (1) 对于绘制函数曲线,首先通过设定的步长范围创建x的数组,然后对每个x计算y = x^2的值。MATLAB代码如下:

      matlab 复制代码
      step = 0.1; % 此处步长为示例值,可以更改
      x = -1:step:1; 
      y = x.^2;     
      plot(x, y);

五、测试数据及结果

  1. 内容1:由于是MATLAB环境导览,无测试数据和结果。

  2. 内容2:

    • (1) 数学运算测试:

      • 输入:1/3 输出:ans = 0.3333

      • 输入:A = rand(2,3) 输出:

    • (2) 迭代结果测试:

      • 代码语句:fprintf('第%d次迭代结果为: %.6f\n', i, sum); 输出示例:第5次迭代结果为: 2.283333
  3. 内容3:

    • (2) 测试不同的k值:
      • k = 0.1:曲线平滑,点的间距较近
      • k = 0.05:曲线更为平滑,点的间距更近
      • k = 0.2:曲线较为粗糙,点的间距较远

六、总结与思考

在这次的实验中,我深入了解了MATLAB的基础功能和环境。通过基本的数学运算和绘图操作,我更加熟悉了MATLAB命令的使用方法。此外,我也体会到了为什么MATLAB在科学计算和工程领域如此受欢迎,它的向量化操作和强大的可视化工具使得处理数据和展示结果变得简单且直观。

在编码过程中,我也认识到了代码的整洁和结构的重要性,特别是当我们尝试将代码封装为函数时。正确的封装和命名不仅使得代码更易于阅读,还方便了后续的修改和调试。

总的来说,此次实验为我打下了坚实的MATLAB基础,我期待在未来能够应用这些知识解决更为复杂的问题。

相关推荐
小生凡一几秒前
腾讯二面:TCC分布式事务 | 图解TCC|用Go语言实现一个TCC
开发语言·分布式·golang
minji...5 分钟前
C语言 函数递归
c语言·开发语言·算法
你好我是咯咯咯7 分钟前
代码随想录算法训练营Day36
算法
uhakadotcom15 分钟前
如何用AI打造高效招聘系统,HR效率提升100%!
后端·算法·面试
云上空24 分钟前
C#初级知识总结
开发语言·c#
钢铁男儿1 小时前
C# 深入理解类:面向对象编程的核心数据结构
开发语言·数据结构·c#
Doker 多克1 小时前
Python-Django系列—部件
开发语言·python
Felven1 小时前
A. Everybody Likes Good Arrays!
数据结构·算法
江沉晚呤时1 小时前
深入解析 ASP.NET Core 中的 ResourceFilter
开发语言·c#·.net·lucene
huangyuchi.1 小时前
【C++11】Lambda表达式
开发语言·c++·笔记·c++11·lambda·lambda表达式·捕捉列表