Matlab kodunda yardım

Merhabalar alttaki gibi bir kodum var fakat python’da nasıl matematiksel fonksiyon yazacağımı anlamadığım için yapamıyorum. Google’da da bulamadım. Yardımcı olur musunuz? Nasıl yapacağım

clc

clear all

close all

f=@(x) sin(x).*(exp(x)-x)./(x.^2+log(x));

a=pi/4;

b=pi;

prev=0;

n=1;

while(1)

x=linspace(a,b,n+1);

y=f(x);

I=0;

for i=1:length(x)-1

I=I+(y(i)+y(i+1))/2*(x(i+1)-x(i));

end

if(abs(I-prev)<1e-6)

break;

end

prev=I;

n=n+1;

end

def veya lambda ile:

f=@(x) sin(x).*(exp(x)-x)./(x.^2+log(x));
import math
f = lambda x: math.sin(x) * (math.exp(x)-x)  / (x**2 + math.log(x))

Octave bilmiyorum fakat kodda matematiksel fonksiyondan fazlasi var gibi duruyor. linspace gibi kolayliklar ve bilumum vektor islemleri icin numpy ve yetmezse scipy'a bakabilirsin. Grafik cizmek icin matplotlib kullaniyoruz.

Bu arada kodunda yatay bosluk ve indentasyon (tab) kullanman lazim. while/for hangi satirlari kapsiyor gozukmuyor mesela. Dikey boslugu da daha secici kullanabilirsin; clc/clear/close arasinda veya ayni isi goren a/b arasinda bosluga gerek yok mesela.