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

相关推荐
zmd-zk2 分钟前
flink学习(2)——wordcount案例
大数据·开发语言·学习·flink
好奇的菜鸟6 分钟前
Go语言中的引用类型:指针与传递机制
开发语言·后端·golang
诚丞成9 分钟前
滑动窗口篇——如行云流水般的高效解法与智能之道(1)
算法
Alive~o.015 分钟前
Go语言进阶&依赖管理
开发语言·后端·golang
花海少爷17 分钟前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
手握风云-18 分钟前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构
喵叔哟38 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生44 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
hopetomorrow1 小时前
学习路之PHP--使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
开发语言·学习·php
小牛itbull1 小时前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress