问一个Matlab小问题
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 20:48:56
问一个Matlab小问题
两个m文件
function [Q]=Q(x);
syms u;
Q=(1/sqrt(2*pi))*int(exp(-u^2/2),x,inf);
x=-6:0.1:20;
y=Q(x);
为什么有错误?
两个m文件
function [Q]=Q(x);
syms u;
Q=(1/sqrt(2*pi))*int(exp(-u^2/2),x,inf);
x=-6:0.1:20;
y=Q(x);
为什么有错误?
经测试,你的问题主要是:1、自定义函数时,函数名不能与变量名相同,Q(x)与Q.2、求y值,应采用循环语句来完成.代码见附件.
再问: 谢谢你,我还有两个小问题:
1、在定义了函数之后,求y值为什么要用循环语句来完成?不可以把x看成是一个矩阵,然后当做自变量输入而求出来的y也是一个矩阵吗?
2、这个程序执行的时间比较长,有没有什么改进的方法?我发现把clc,clear all,close all都删掉程序执行会比较快一点,请问什么时候要用这个语句,什么时候可以不用?
再答: 1、因为y=1/sqrt(2*pi)*int(exp(-u.^2/2),x,inf)不能得到解析表达式,如x以数组的形式存在,去求y值是得不到的(软件报警)。所以只能以循环的形式,去求解得到y值。
2、clc,clear all,close all语句,清除和关闭所有变量和程序,相当于软件处于初始状态。执行新的程序时候使用。
再问: 谢谢你,我还有两个小问题:
1、在定义了函数之后,求y值为什么要用循环语句来完成?不可以把x看成是一个矩阵,然后当做自变量输入而求出来的y也是一个矩阵吗?
2、这个程序执行的时间比较长,有没有什么改进的方法?我发现把clc,clear all,close all都删掉程序执行会比较快一点,请问什么时候要用这个语句,什么时候可以不用?
再答: 1、因为y=1/sqrt(2*pi)*int(exp(-u.^2/2),x,inf)不能得到解析表达式,如x以数组的形式存在,去求y值是得不到的(软件报警)。所以只能以循环的形式,去求解得到y值。
2、clc,clear all,close all语句,清除和关闭所有变量和程序,相当于软件处于初始状态。执行新的程序时候使用。