نکات عمومی و پیشرفته ریاضی در نرم افزار متلب به زبان ساده
ریاضیات پایه و اساس نرم افزار متلب است. در این آموزش چند نکته و برنامه نویسی پیشرفته ریاضی در نرم افزار متلب را یاد می گیرید.
۱-نمونه برداری تصادفی n نقطه
x = randn(3,n);
d = sqrt( x(1,:).ˆ۲+x(2,:).ˆ۲+x(2,:).ˆ۲ );
x(1,:) = x(1,:)./d; x(2,:) = x(2,:)./d; x(3,:) = x(3,:)./d;
۲- ساختن یک چند ضلعی به طول اضلاع x
theta = [0;cumsum(s)];
theta = theta/theta(end); theta = theta(1:(end-1));
x = exp(2i*pi*theta);
L = abs(x(1)-x(2));
x = x*s(1)/L; % rescale the result
حتما بخوانید: آموزش گام به گام پردازش سیگنال و تصویر در نرم افزار متلب
۳- محاسبه منحنی آباسیک
D = c(:,2:end)-c(:,1:(end-1));
s = zeros(size(c,2),1);
s(2:end) = sqrt( D(1,:).ˆ۲ + D(2,:).ˆ۲ );
s = cumsum(s);
۴- محاسبه ماتریس چرخش سه بعدی حول محور v
% taken from the OpenGL red book
v = v/norm(v,’fro’);
S = [0 -v(3) v(2); v(3) 0 -v(1); -v(2) v(1) 0];
M = v*transp(v) + cos(alpha)*(eye(3) – v*transp(v)) + sin(alpha)*S;
۵- محاسبه ماتریس واندر موند
n = length(x); % first method
[J,I] = meshgrid(0:d,1:n);
A = x(I).ˆJ;
% second method, less elegant but faster
A = ones(n);
for j = 2:n
A(:,j) = x.*A(:,j-1);
end
حتما بخوانید: آموزش گام به گام Array در متلب به زبان کاملا ساده
۶- محاسبه قدر مطلق
% first solution
x = (abs(x)>=T) .* x;
% second one : nearly 2 times slower
I = find(abs(x)<T); x(I) = 0;
- حفظ تعداد n ضریب همبستگی
[,I] = sort(abs(x(:))); x( I(1:end-n) ) = 0;
۷- ترسیم کره سه بعدی
p = 20; % precision
t = 0:1/(p-1):1;
[th,ph] = meshgrid( t*pi,t*2*pi );
x = cos(th);
y = sin(th).*cos(ph); z = sin(th).*sin(ph);
surf(x,y,z, z.*0);
% some pretty rendering options
shading interp; lighting gouraud;
camlight infinite; axis square; axis off;
حتما بخوانید: آموزش انواع داده ها در متلب به زبان کاملا ساده
۸- تصویر نقاط سه بعدی روی صفحه
for i=1:3 % substract mean
P(i,:) = P(i,:) – mean(P(i,:));
end
C = P*P’; % covariance matrix
% project on the two most important eigenvectors
[V,D] = eigs(C); Q = V(:,1:2)’*P;
یک مثال ویدیویی از محاسبات ریاضی متلب