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

相关推荐
流星蝴蝶没有剑1 分钟前
CoPaw Agent 对接 Python 客户端开发指南:实现流式响应与实时打印
开发语言·python
佑白雪乐2 分钟前
<LeetCode>二叉树前/中/后/层遍历**递归&&非递归**
算法·leetcode·深度优先
汀、人工智能7 分钟前
[特殊字符] 第56课:在排序数组中查找元素的首末位置
数据结构·算法·数据库架构·图论·bfs·在排序数组中查找元素的首末位置
小O的算法实验室8 分钟前
2026年IEEE TASE,面对突发危险区域的基于强化学习的多无人机路径规划,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
咬_咬9 分钟前
go语言学习(数组与切片)
开发语言·学习·golang·数组·切片
小陈工11 分钟前
Python Web开发入门(十八):跨域问题解决方案——从“为什么我的请求被拦了“到“我让浏览器乖乖听话“
开发语言·python·机器学习·架构·数据挖掘·回归·状态模式
m0_4972141512 分钟前
Qt事件系统
开发语言·qt
AI科技星12 分钟前
全维度相对论推导、光速螺旋时空与北斗 GEO 钟差的统一理论
开发语言·线性代数·算法·机器学习·数学建模
ECT-OS-JiuHuaShan16 分钟前
科学的本来意义,是基于规范的共识逻辑,而非共识方法
人工智能·科技·学习·算法·生活
赵优秀一一16 分钟前
Python 工程化基础1:环境(conda)、pip、requirements.txt
linux·开发语言·python