سلام دوست من ...سلام . بچه ها این چرا اشکال میگیره ازش؟؟؟ (x=p*exp(-1.5t)+((g+0.175p)/0.172)*exp(-1t
اینو مینویسه با رنگ قرمز ??? x=p*exp(-1.5t)+((g+0.175p)/0.172)*exp(-1t));
|
Error: Unexpected MATLAB expression.
نحوه نوشتنم اشکال داره ؟؟ کجاشه اخه ؟؟؟
سلام دوست من ...
یه اشتباه لپی داری ...
(x=p*exp(-1.5*t)+((g+0.175*p)/0.172)*exp(-1*t
%free vibration of a viscously damped single degree of freedom
m=input(' enter the mass of the system : ')
k=input(' enter the stifness of the system : ')
c=input(' enter the damping coefficient : ')
t0=input(' enter final time : ')
x0=input(' enter the initial displacement : ')
v0=input(' enter the initial velocity : ')
t=[0:.01:t0];
w=sqrt(k/m);%natural frequency%
z=c/(2*m*w) %damping ratio%
wd=w*sqrt(1-z^2);%damped frequncy
a=sqrt(x0^2+(v0+z*w*x0/wd)^2);
ph=atan((x0*wd)/v0+z*w*x0);%phase of sinosiodal motion
if (z<1 && z>=0)
fprintf('system vibration is under damped\n');
y=a*exp(-z*w*t).*sin(wd*t+ph);%the equation of displacement of the system
e=a*exp(-z*w*t);%exponetial decrease of the amplitude of the system
plot(t,y,'k')
xlabel('time(second)');
legend('free vibration of 1dof sys ');
ylabel('system displacement(meter) ');
hold on;
plot(t,e,'c--')
grid on;
elseif z==1
fprintf('\n system vibration is critical damping\n');
c1=x0;
c2=v0+w*x0;
y=(c1+c2*t).*exp(-w*t);
plot(t,y)
xlabel('time(second)');
ylabel('system displacement(meter) ');
grid on
else
fprintf('\n system vibration is over damped\n');
s1=(-z+sqrt(z^2-1))*w;
s2=(-z-sqrt(z^2-1))*w;
d1=.5*(x0+(v0+z*w*x0)/(sqrt(z^2-1)*w));
d2=x0-d1;
y=d1*exp(s1*t)+d2*exp(s2*t);
plot(t,y)
xlabel('time(second)');
ylabel('system displacement(meter) ');
grid on
end
clear all;clc;
% ... calculation of integral with TRAPEZOIDAL method ... %
a=input('enter first number');
b=input('enter second number');
k=input('enter number of division');
h=(b-a)/k;
x=a:h:b;
f=input('enter function'); % ... Must be in matrix form,Example : X.^2
max=max(f)
min=min(f)
axis([a-abs(a)/3,b+abs(b)/3,min-abs(min)/3,max+abs(max)/3]);
plot(x,f,'m');
grid on
s=0;
for i=1:k
r=f(i);
t=f(i+1);
s=s+h*(r+t)/2;
end
if s<0.00001
Integral=0
else
Integral=s
end
enter first number0enter second number1
enter number of division2
enter functionx.^2
max =
1
min =
0
Integral =
0.3750
clc;clear;
x=sym('x');
disp('This program calculates integral of f(x) using Composite Simpson rule.');
f=input('Enter f(x) as a function of x: ');
disp(' ');
a=input('Enter the start of integration range: ');
b=input('Enter the end of integration range: ');
disp(' ');
xmin=min(a,b);
xmax=max(a,b);
a=xmin;
b=xmax;
n=input('Enter the number of subintervals (an even number): ');
disp(' ');
n=2*floor(n/2);
if(n<2)
n=2;
end
h=(b-a)/n;
S=0;
for i=1:n+1
xx=a+(i-1)*h;
ff=subs(f,xx);
if i==1 || i==n+1
S=S+ff;
else
if mod(i,2)==0
S=S+4*ff;
else
S=S+2*ff;
end
end
end
S=S*h/3;
disp(['Integral of ' char(f) ' in the range [' mat2str(a,4) ', ' mat2str(b,4) '] is:']);
disp(mat2str(S,10));
disp(' ');
This program calculates integral of f(x) using Composite Simpson rule.Enter f(x) as a function of x: x*sin(x)
Enter the start of integration range: 0
Enter the end of integration range: 1
Enter the number of subintervals (an even number): 4
Integral of x*sin(x) in the range [0, 1] is:
0.3011013969
سلام مهندس
چ اشتباهی بودش :دی
میگم مهندس اینو ی نگاه بنداز . برای سه حالت هستش . گفته کافی است که دستورات زیر را در ادیتور matlabکپی نموده و ذخیره و سپس اجرا کنید . خب من اینو ذخیره میکنم باز میکنم چیزی نمیشه . چطوریه این ؟؟؟
PHP:%free vibration of a viscously damped single degree of freedom m=input(' enter the mass of the system : ') k=input(' enter the stifness of the system : ') c=input(' enter the damping coefficient : ') t0=input(' enter final time : ') x0=input(' enter the initial displacement : ') v0=input(' enter the initial velocity : ') t=[0:.01:t0]; w=sqrt(k/m);%natural frequency% z=c/(2*m*w) %damping ratio% wd=w*sqrt(1-z^2);%damped frequncy a=sqrt(x0^2+(v0+z*w*x0/wd)^2); ph=atan((x0*wd)/v0+z*w*x0);%phase of sinosiodal motion if (z<1 && z>=0) fprintf('system vibration is under damped\n'); y=a*exp(-z*w*t).*sin(wd*t+ph);%the equation of displacement of the system e=a*exp(-z*w*t);%exponetial decrease of the amplitude of the system plot(t,y,'k') xlabel('time(second)'); legend('free vibration of 1dof sys '); ylabel('system displacement(meter) '); hold on; plot(t,e,'c--') grid on; elseif z==1 fprintf('\n system vibration is critical damping\n'); c1=x0; c2=v0+w*x0; y=(c1+c2*t).*exp(-w*t); plot(t,y) xlabel('time(second)'); ylabel('system displacement(meter) '); grid on else fprintf('\n system vibration is over damped\n'); s1=(-z+sqrt(z^2-1))*w; s2=(-z-sqrt(z^2-1))*w; d1=.5*(x0+(v0+z*w*x0)/(sqrt(z^2-1)*w)); d2=x0-d1; y=d1*exp(s1*t)+d2*exp(s2*t); plot(t,y) xlabel('time(second)'); ylabel('system displacement(meter) '); grid on end
سلام دوباره
مشاهده پیوست 154058
در راستای این 2تا سوال که مطرح شد و جوابی داده نشد من یه چیزایی پیدا کردم و نوشتم نمیدونم این کد ها که من یافتم صحیح هست یا نه ؟! - البته واسه اون ذوزنقه ای جواب داد - میخوام ببینم این کدها اشکالی چیزی نداره ، قراره واسه استاد محاسبات بفرستم خواستم بزرگترا چک کنن
اینم خروجی :کد:clear all;clc; % ... calculation of integral with TRAPEZOIDAL method ... % a=input('enter first number'); b=input('enter second number'); k=input('enter number of division'); h=(b-a)/k; x=a:h:b; f=input('enter function'); % ... Must be in matrix form,Example : X.^2 max=max(f) min=min(f) axis([a-abs(a)/3,b+abs(b)/3,min-abs(min)/3,max+abs(max)/3]); plot(x,f,'m'); grid on s=0; for i=1:k r=f(i); t=f(i+1); s=s+h*(r+t)/2; end if s<0.00001 Integral=0 else Integral=s end
کد:enter first number0enter second number1 enter number of division2 enter functionx.^2 max = 1 min = 0 Integral = 0.3750
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
کد:clc;clear; x=sym('x'); disp('This program calculates integral of f(x) using Composite Simpson rule.'); f=input('Enter f(x) as a function of x: '); disp(' '); a=input('Enter the start of integration range: '); b=input('Enter the end of integration range: '); disp(' '); xmin=min(a,b); xmax=max(a,b); a=xmin; b=xmax; n=input('Enter the number of subintervals (an even number): '); disp(' '); n=2*floor(n/2); if(n<2) n=2; end h=(b-a)/n; S=0; for i=1:n+1 xx=a+(i-1)*h; ff=subs(f,xx); if i==1 || i==n+1 S=S+ff; else if mod(i,2)==0 S=S+4*ff; else S=S+2*ff; end end end S=S*h/3; disp(['Integral of ' char(f) ' in the range [' mat2str(a,4) ', ' mat2str(b,4) '] is:']); disp(mat2str(S,10)); disp(' ');
اینم خروجی :کد:This program calculates integral of f(x) using Composite Simpson rule.Enter f(x) as a function of x: x*sin(x) Enter the start of integration range: 0 Enter the end of integration range: 1 Enter the number of subintervals (an even number): 4 Integral of x*sin(x) in the range [0, 1] is: 0.3011013969
سلام به دوستان ...
من یه مشکل تو استفاده از تابع pdepe دارم .
تابع اصلی و شرایط مرزی و اولیه رو فکر کنم درست تعریف کردم و برنامه هم ران میشه ولی جواب کاملا غلط میده... کسی از شما دوستان میتونه کمکم کنه ...
سلام به دوستان ...
من یه مشکل تو استفاده از تابع pdepe دارم .
تابع اصلی و شرایط مرزی و اولیه رو فکر کنم درست تعریف کردم و برنامه هم ران میشه ولی جواب کاملا غلط میده... کسی از شما دوستان میتونه کمکم کنه ...
سلام دوباره
مشاهده پیوست 154058
در راستای این 2تا سوال که مطرح شد و جوابی داده نشد من یه چیزایی پیدا کردم و نوشتم نمیدونم این کد ها که من یافتم صحیح هست یا نه ؟! - البته واسه اون ذوزنقه ای جواب داد - میخوام ببینم این کدها اشکالی چیزی نداره ، قراره واسه استاد محاسبات بفرستم خواستم بزرگترا چک کنن
اینم خروجی :کد:clear all;clc; % ... calculation of integral with TRAPEZOIDAL method ... % a=input('enter first number'); b=input('enter second number'); k=input('enter number of division'); h=(b-a)/k; x=a:h:b; f=input('enter function'); % ... Must be in matrix form,Example : X.^2 max=max(f) min=min(f) axis([a-abs(a)/3,b+abs(b)/3,min-abs(min)/3,max+abs(max)/3]); plot(x,f,'m'); grid on s=0; for i=1:k r=f(i); t=f(i+1); s=s+h*(r+t)/2; end if s<0.00001 Integral=0 else Integral=s end
کد:enter first number0enter second number1 enter number of division2 enter functionx.^2 max = 1 min = 0 Integral = 0.3750
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
کد:clc;clear; x=sym('x'); disp('This program calculates integral of f(x) using Composite Simpson rule.'); f=input('Enter f(x) as a function of x: '); disp(' '); a=input('Enter the start of integration range: '); b=input('Enter the end of integration range: '); disp(' '); xmin=min(a,b); xmax=max(a,b); a=xmin; b=xmax; n=input('Enter the number of subintervals (an even number): '); disp(' '); n=2*floor(n/2); if(n<2) n=2; end h=(b-a)/n; S=0; for i=1:n+1 xx=a+(i-1)*h; ff=subs(f,xx); if i==1 || i==n+1 S=S+ff; else if mod(i,2)==0 S=S+4*ff; else S=S+2*ff; end end end S=S*h/3; disp(['Integral of ' char(f) ' in the range [' mat2str(a,4) ', ' mat2str(b,4) '] is:']); disp(mat2str(S,10)); disp(' ');
اینم خروجی :کد:This program calculates integral of f(x) using Composite Simpson rule.Enter f(x) as a function of x: x*sin(x) Enter the start of integration range: 0 Enter the end of integration range: 1 Enter the number of subintervals (an even number): 4 Integral of x*sin(x) in the range [0, 1] is: 0.3011013969
format long
Ie=1/3;
a=0; b=1; h=1/2;
x=a:h:b; y=x.^2;
I1=(h/2)*(y(1)+2*sum(y(2:end-1))+y(end))
err=abs(I1-Ie)/Ie
a=0; b=1; h=1/4;
x=a:h:b; y=x.*sin(x);
I2=(h/3)*(y(1)+4*sum(y(2:2:end-1))+2*sum(y(3:2:end-2))+y(end))
format short
I1 =
0.375000000000000
err =
0.125000000000000
I2 =
0.301101396894719
I'm sorry. My responses are limited. You must ask the right questions. MM
function pdexFRglobal ps e uz dh N L m Kf n
close all
ps=1.1;
Kf=0.991;
n=0.782;
e=0.25;
dh=3*10^(-3);
uz=100;
N=50;
L=20;
m=0;
x=linspace(0,L,N);
t=linspace(0,1e6,50);
sol = pdepe(m, @pdeFRENDLICH, @icFRENDLICH, @bcFRENDLICH ,x ,t );
u = sol(:,:,1);
surf(x,t,u)
title('Numerical solution computed with 50 mesh points.')
xlabel('Distance x')
ylabel('Time t')
figure
plot(x,u(end,:))
title('Solution at final')
xlabel('Distance x')
ylabel('C')
figure
plot(t,u(:,end))
title('Solution at end of bed')
xlabel('Time')
ylabel('C')end
--------------------------------------------------------------------------------function [c,f,s] = pdeFRENDLICH (x,t,u,DuDx)
global ps e uz dh Kf n
c =1+(ps*(1-e)/e)*(Kf*n*(u)^(n-1));
f = dh*DuDx-uz;
s =0;end
-----------------------------------------------------------------------------------function u0 = icFRENDLICH(x)u0=0;
-----------------------------------------------------------------------------------function [pl,ql,pr,qr] = bcFRENDLICH (xl,ul,xr,ur,t)
global uz
pl = ul -100;
ql = 0;
pr = uz;
qr = 1;
end
مرسی دوست من ... اول گفتم بپرسم ببینم اصلا کسی از این تابع سر در میاره ...
اینم کد برنامم ...
دوست عزیز ... تابعی که اون رو شبیه سازی کردم اینه :PHP:function pdexFRglobal ps e uz dh N L m Kf n close all ps=1.1; Kf=0.991; n=0.782; e=0.25; dh=3*10^(-3); uz=100; N=50; L=20; m=0; x=linspace(0,L,N); t=linspace(0,1e6,50); sol = pdepe(m, @pdeFRENDLICH, @icFRENDLICH, @bcFRENDLICH ,x ,t ); u = sol(:,:,1); surf(x,t,u) title('Numerical solution computed with 50 mesh points.') xlabel('Distance x') ylabel('Time t') figure plot(x,u(end,:)) title('Solution at final') xlabel('Distance x') ylabel('C') figure plot(t,u(:,end)) title('Solution at end of bed') xlabel('Time') ylabel('C')end --------------------------------------------------------------------------------function [c,f,s] = pdeFRENDLICH (x,t,u,DuDx) global ps e uz dh Kf n c =1+(ps*(1-e)/e)*(Kf*n*(u)^(n-1)); f = dh*DuDx-uz; s =0;end -----------------------------------------------------------------------------------function u0 = icFRENDLICH(x)u0=0; -----------------------------------------------------------------------------------function [pl,ql,pr,qr] = bcFRENDLICH (xl,ul,xr,ur,t) global uz pl = ul -100; ql = 0; pr = uz; qr = 1; end
و شرایط مرزی آن :
واقعا ممنون میشم اگه بتونید کمکم کنید ...
همون طور که گفتم برنامه ران میشه ولی جواب نادرست میده....
% function pdexFR
global ps e uz dh N L m Kf n
close all
ps=1.1;
Kf=0.991;
n=0.782;
e=0.25;
dh=3e-3;
uz=100;
N=50;
L=20;
m=0;
x=linspace(0,L,N);
t=linspace(0,1,51);
sol = pdepe(m, @pdeFRENDLICH, @icFRENDLICH, @bcFRENDLICH ,x ,t);
sol=real(sol);
u = sol(:,:,1);
surf(x,t,u)
title('Numerical solution computed with 51 mesh points.')
xlabel('Distance x')
ylabel('Time t')
figure
plot(x,u(end,:))
title('Solution at final')
xlabel('Distance x')
ylabel('C')
figure
plot(t,u(:,end))
title('Solution at end of bed')
xlabel('Time')
ylabel('C')
%% Animation
figure
YLim=[min(u(:)),max(u(:))];
for j = 1:size(u,1)
plot(x,u(j,:),'r','LineWidth',2)
xlabel('z'), ylabel('C')
ylim(YLim)
title(['t = ',num2str(t(j))])
pause(0.1)
hold on
plot(x,u(j,:),'b','LineWidth',2)
pause(0.1)
end
function [c,f,s] = pdeFRENDLICH(x,t,u,DuDx)
global ps e uz dh Kf n
c =1+(ps*(1-e)/e)*(Kf*n*u.^(n-1));
f = dh*DuDx;
s =-uz*DuDx;
function u0 = icFRENDLICH(x)
u0=1e-15;
function [pl,ql,pr,qr] = bcFRENDLICH(xl,ul,xr,ur,t)
global uz
pl = ul-100;
ql = 0;
pr = 0;
qr = 1;
سلام دوست من...
این تابعی که به شما دادم تابعی برای شبیه سازی فرایند جذبه .... بنابراین نباید مقداری نوسانی بده ...
برای مثال من تابع دیگه ای هم ران کردم جواب درستی داده... نتایجش اینطوریه ...
اون 100 هم مقدار اولیه هست...
اینم ورودی های مسئله :
ممنون میشم اگه راهکاری داشته باشد به بنده بفرایید ...
شما درست میگید .. ولی من یک ماهیه که مشغول این مسئله ام ولی به نتیجه ای نرسیدم .... درباره ورودی ها هم فکر میکنم درستن اخه همین ورودی ها رو برای تابع دیگه ای دادم و درست کار کرده فقط این یه تابع جواب غلط میده که برای کار من مهم ترین تابع هست و مجبورم یه جوری درستش کنم ....من چون شاگرد آقای مسافر بودم یه چیزی رو به شما بگم: ایشون خیلی خلاصه و جامع می نویسه و شما باید چند بار نوشته هاش رو بخونید. پیشنهاد من اینه که حداقل اون جمع بندیی که برای شما نوشته رو 5 بار بخونید. همون آخرین خط رو میگم.
سلام دوست من...
این تابعی که به شما دادم تابعی برای شبیه سازی فرایند جذبه .... بنابراین نباید مقداری نوسانی بده ...
برای مثال من تابع دیگه ای هم ران کردم جواب درستی داده... نتایجش اینطوریه ...
اون 100 هم مقدار اولیه هست...
درباره ورودی ها هم فکر کنم درستن ...اینم ورودی های مسئله :
ممنون میشم اگه راهکاری داشته باشد به بنده بفرایید ...
مرسی ...این جدول ورودیها قشنگ داره نشون می ده که شما ورودیها رو غلط به برنامه دادید. از اونجایی که بعضی از داده ها بُعد دارند، باید به گونه ای به برنامه داده بشن که از نظر ابعادی با معادله دیفرانسیل داده شده سازگار باشند. اگه حال چک کردنش رو ندارید، ساده ترین راه اینه که همه داده ها رو در یک دستگاه یکاهای استاندارد، مثلاً SI، و بدون پیشوند به برنامه بدید و خروجی هم در همون دستگاه یکاها و بدون پیشوند به دست میاد (بعدش خواستید تبدیل کنید).
در مورد اون معادله های دیگه هم یا بختی سازگاری ابعادی وجود داره، یا فکر می کنید که جوابها درستند؛ پس اونها رو هم باید از نظر ابعادی چک کنید.
سلامی دوباره به دوستان خوبم ...
یه سوال کوچولو ...
میشه این معادله رو از لحاظ بعد بررسی کنید و بهم بگید چجوری میشه n عددی بین صفر و یک باشه و مسئله مشکل ابعاد نداشته باشه ؟
خیلی دوستان منو ببخشن بابت سوالای زیاد ..
دوستان ... خبر خوش... حل شد .... مرسی
تو یه مرجع دیگه دیدم n بدون بعد نیست و بعد داره. ..چطوری حل شد می شه مختصر توضیح بدید؟
سلام به همه دوستان
یه کد متلبی دارم که تصویر اثرانگشت رو میگیره و روش عملیاتی رو انجام میده
میخوام همه اون مراحل رو برای چند تا عکس انجام بدم و نتیجشون رو هم جدا جدا ذخیره کنم
کسی میتونه کمکم کنه آیا؟!
کجاست یاری کننده ای که یاری کند مرا؟!
کجاست یاری کننده ای که یاری کند مرا؟!
Thread starter | عنوان | تالار | پاسخ ها | تاریخ |
---|---|---|---|---|
F | سوالات و مشکلات در متلب | MATLAB | 1 | |
N | راهنمایی پیاده سازی کلاسبند جنگل تصادفی و خوشه بند DBSCAN در متلب | MATLAB | 0 | |
ب | کمک در برنامه نویسی متلب...فوری | MATLAB | 0 | |
A | شبیه سازی متغییر گسسته وپیوسته باهم برای یک مسئله در متلب 2014 | MATLAB | 0 | |
A | درخواست کمک در پروژه متلب.فوری | MATLAB | 4 |