下面是我的程序的代码。我试图找出1/ln( x )的积分值,然后计算从0到x的积分,用这个作为被积函数。我不太确定我做错了什么,但我对Scilab还是个新手。
t = input("t");
x=10; while x<t, x=x+10,
function y=f(x), y=(1/(log (x))), endfunction
I=intg(2,x,f);
function z=g(x), z=I, endfunction
W = intg(0,x,z);
W
end发布于 2013-08-14 23:03:02
我不能完全确定您想要实现什么,但是我重新格式化了您的代码,并在文档中添加了一些建议。也许它会帮助你找到答案。
While循环
您可以将while loop转换为for loop
你的代码
x=10;
while x<t
x=x+10
//some code
end可以是
for x=10:10:t
//some code
end函数
在您的代码中,您将在while循环的每次迭代中重新声明这两个函数。您可以在while循环外声明它们,并在循环内调用它们。
已重新格式化
t = input("Please provide t: ");
// The function of 1/ln(x)
function y=f(x), y=1/log(x), endfunction
// Every time g(x) is called the current value of I is returned
function z=g(x), z=I, endfunction
for x=10:10:t
//Find definite integral of function f from 2 to x
I = intg(2,x,f);
//Find definite integral of I from 0 to x
W = intg(0,x,g);
disp( string(W) );
end发布于 2020-09-17 20:01:57
我知道这个问题可能已经过时了,但这个话题仍然很活跃。我在找一个有二重积分的代码。在这里,使用"intg“来计算由对角线((0,0),(x,i))定义的矩形的面积看起来很奇怪:结果就是x*i…可能最初的目标是将"I“视为"x”的函数(但在这种情况下,x=1存在收敛问题……);因此,将"I“的积分限制为大于1的值会产生以下代码:
x=10:10:100;W2=integrate('integrate(''1/log(x2)'',''x2'',2,x1)','x1',1.001,x);
注意集成变量x1和x2的使用,加上引号的使用...
https://stackoverflow.com/questions/18150176
复制相似问题