作业帮 > 综合 > 作业

matlab中M文件for循环求解

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 01:58:48
matlab中M文件for循环求解
题目意思是求 y(i)=(x(i+1)-x(i))/x(i)中的每个y
function y(i)=rk(x)
x=[3.9 5.3 7.2 9.6 12.9 17.1 13.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.5 226.5 251.4]
for i=1:21
y(i)=(x(i+1)-x(i))/x(i);
end
y
运行结果出现这个 该怎么改
Undefined function or variable 'x'.
函数:
function y=digui(x)
n=length(x);
for ii=1:n-1
y(ii)=(x(ii+1)-x(ii))/x(ii);
end
主程序:
clear all;clc;
x=[3.9 5.3 7.2 9.6 12.9 17.1 13.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3];
y=digui(x)
再问: 步奏后面 能 加个说明吗? n=length(x);这个是什么意思
再答: 一般情况下,定义函数时,没有必要赋值,当然有时也需要: function y=digui(x) % 定义函数digui.m n=length(x); % 向量x的长度为n for ii=1:n-1 %循环 y(ii)=(x(ii+1)-x(ii))/x(ii); % 迭代求y end 主程序: clear all;clc; x=[3.9 5.3 7.2 9.6 12.9 17.1 13.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3]; % 定义变量x y=digui(x) % 调用函数