MATLAB交换变量值与一元二次方程解的程序示例

需积分: 9 1 下载量 146 浏览量 更新于2024-10-13 收藏 93KB DOC 举报
"MATLAB刘卫国第四章例题源程序" 在MATLAB编程中,例子是学习和掌握语言特性的关键。这里我们来看刘卫国教授在第四章提供的几个示例,这些例子涵盖了基本操作、函数使用以及条件判断等核心概念。 **例4.1** 主要展示了如何创建命令文件来交换两个变量的值。在MATLAB中,命令文件是一种包含可执行指令的文本文件。在这个例子中,创建了一个名为`exch.m`的命令文件: 1. 首先,使用`clear`清除当前工作空间中的所有变量。 2. 定义两个变量`a`和`b`,`a`是一个从1到10的向量,`b`是一个2x4的矩阵。 3. 使用临时变量`c`来交换`a`和`b`的值,即`c=a; a=b; b=c;`。 4. 执行`a`和`b`的显示以验证它们的值是否已经互换。 5. 在MATLAB命令窗口中,通过输入文件名`exch`来运行这个命令文件。 **例4.2** 展示了如何解决用户输入的一元二次方程。它提示用户输入方程的系数`a`、`b`和`c`,然后使用`input`函数获取这些值。接着,根据一元二次方程的求根公式计算根: 1. 计算判别式`d = b^2 - 4ac`。 2. 使用`sqrt`函数找到平方根,并根据公式`(-b ± sqrt(d)) / (2a)`计算两个根。 3. `disp`函数用于显示计算结果,使用`num2str`将浮点数转换为字符串以便输出。 **例4.3** 是关于分段函数的计算,这涉及到条件语句的使用。这个例子展示了如何根据不同的条件执行不同的计算: 1. 用户输入`x`的值,然后根据`if...else`语句判断条件。 - 如果`x`等于10,计算`y = cos(x+1) + sqrt(x*x+1)`。 - 如果`x`不等于10,计算`y = x * sqrt(x + sqrt(x))`。 此外,还演示了如何使用单分支`if`语句和嵌套`if...end`语句来实现相同的功能。 **例4.4** 是字符处理的实例,根据输入的字符类型进行相应操作: 1. 使用`input`函数读取一个字符,`'s'`参数表示读取字符串类型。 2. 使用`if...elseif...else`语句判断字符类型: - 如果字符是大写字母,输出对应的小写字母,通过计算ASCII码差值实现。 - 如果字符是小写字母,输出对应的大写字母,同样通过ASCII码差值计算。 - 如果是数字字符,将其转换为对应的数值输出。 - 其他情况,原样输出字符。 这些例子不仅展示了MATLAB的基本语法,如变量赋值、函数调用和条件判断,还强调了命令文件和函数文件的使用,这些都是MATLAB编程中的重要概念。通过理解和实践这些例子,读者可以更深入地理解MATLAB的运算逻辑和控制结构。