计算方法实验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基础,我期待在未来能够应用这些知识解决更为复杂的问题。

相关推荐
Narutolxy2 分钟前
深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
开发语言·golang·gin
XiaoLeisj8 分钟前
【递归,搜索与回溯算法 & 综合练习】深入理解暴搜决策树:递归,搜索与回溯算法综合小专题(二)
数据结构·算法·leetcode·决策树·深度优先·剪枝
Hello.Reader9 分钟前
全面解析 Golang Gin 框架
开发语言·golang·gin
禁默20 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Jasmine_llq27 分钟前
《 火星人 》
算法·青少年编程·c#
Code哈哈笑29 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
程序猿进阶33 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
qq_4336184435 分钟前
shell 编程(二)
开发语言·bash·shell
闻缺陷则喜何志丹38 分钟前
【C++动态规划 图论】3243. 新增道路查询后的最短距离 I|1567
c++·算法·动态规划·力扣·图论·最短路·路径