رفتن به مطلب

با هم متلب یاد بگیریم


M!Zare

ارسال های توصیه شده

  • پاسخ 325
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

به این یه نگاه بندازید چرا تکرار نداره؟خواهش میکنم مشکل این را برطرف کن من صبح دوباره چک میکنم لطفا روش فک کن ببخش ممنون

clc

clear all

k=input('k=');

ri=input('ri=');

si=input('si=');

for T=0:.1:1

a0=.1*T;

a1=1.5*T;

a2=5.25*T;

a3=3.2*T;

a4=(7.1*T+k*T);

a5=(1.2*T+4*k*T+k);

a6=(2*T+5*k*T+4*k);

a7=5*k;

b7=a7;

b6=a6+ri*b7;

b5=a5+ri*b6+si*b7;

b4=a4+ri*b5+si*b6;

b3=a3+ri*b4+si*b5;

b2=a2+ri*b3+si*b4;

b1=a1+ri*b2+si*b3;

b0=a0+ri*b1+si*b2;

c6=b7;

c5=b6+ri*c6;

c4=b5+ri*c5+si*c6;

c3=b4+ri*c4+si*c5;

c2=b3+ri*c3+si*c4;

c1=b2+ri*c2+si*c3;

c0=b1+ri*c1+si*c2;

while b0

Dri=(c2*b0-c1*b1)/(((c1)^2)-c2*c0);

Dsi=(c0*b1-c1*b0)/(((c1)^2)-c2*c0);

si=si+Dsi;

ri=ri+Dri;

end

end

display(ri)

display(si)

display('Number of iterations ==> ');

display(i)

لینک به دیدگاه
به این یه نگاه بندازید چرا تکرار نداره؟خواهش میکنم مشکل این را برطرف کن من صبح دوباره چک میکنم لطفا روش فک کن ببخش ممنون

clc

clear all

k=input('k=');

ri=input('ri=');

si=input('si=');

for T=0:.1:1

a0=.1*T;

a1=1.5*T;

a2=5.25*T;

a3=3.2*T;

a4=(7.1*T+k*T);

a5=(1.2*T+4*k*T+k);

a6=(2*T+5*k*T+4*k);

a7=5*k;

b7=a7;

b6=a6+ri*b7;

b5=a5+ri*b6+si*b7;

b4=a4+ri*b5+si*b6;

b3=a3+ri*b4+si*b5;

b2=a2+ri*b3+si*b4;

b1=a1+ri*b2+si*b3;

b0=a0+ri*b1+si*b2;

c6=b7;

c5=b6+ri*c6;

c4=b5+ri*c5+si*c6;

c3=b4+ri*c4+si*c5;

c2=b3+ri*c3+si*c4;

c1=b2+ri*c2+si*c3;

c0=b1+ri*c1+si*c2;

while b0

Dri=(c2*b0-c1*b1)/(((c1)^2)-c2*c0);

Dsi=(c0*b1-c1*b0)/(((c1)^2)-c2*c0);

si=si+Dsi;

ri=ri+Dri;

end

end

display(ri)

display(si)

display('Number of iterations ==> ');

display(i)

 

سلام به جوابی نرسیدید؟

لینک به دیدگاه
سلام

 

حلقه while بنظر اشتباه میاد چون شرطی که در while گذاشتید تغییری نمیکنه و اگر بیفته تو حلقه while تا بینهایت کار میکنه

 

درصورت امکان تصحیح کنید تا دوستمون کارش پیش بره.

ممنون:a030:

لینک به دیدگاه
سلام

 

حلقه while بنظر اشتباه میاد چون شرطی که در while گذاشتید تغییری نمیکنه و اگر بیفته تو حلقه while تا بینهایت کار میکنه

بله درسته اما شرط باید این باشه حالا چه کنم که درست بشه لطفا کمکم کنید تا برنامم را ادامه بدم

لینک به دیدگاه

clc

clear all

syms f x t

for i=1:16

A=[2.6,2.8,3,3.2,3.4,3.6,3.8,4,4.5,5,6,7,8,10,11,12,14];

B=[.437,.456,.477,.498,.520,.541,.563,.585,.640,.695,.804,.911,1.017,1.223,1.325,1.425,1.622];

x=A;

y=B;

h(i)=x(i+1)-x(i)

end

s(1)=0;

s(17)=0;

M=[.8,.2,0,0,0,0,0,0,0,0,0,0,0,0,0;

.2,.8,.2,0,0,0,0,0,0,0,0,0,0,0,0;

0,.2,.8,.2,0,0,0,0,0,0,0,0,0,0,0;

0,0,.2,.8,.2,0,0,0,0,0,0,0,0,0,0;

0,0,0,.2,.8,.2,0,0,0,0,0,0,0,0,0;

0,0,0,0,.2,.8,.2,0,0,0,0,0,0,0,0;

0,0,0,0,0,.2,1.4,.5,0,0,0,0,0,0,0;

0,0,0,0,0,0,.5,2,.5,0,0,0,0,0,0;

0,0,0,0,0,0,0,.5,3,1,0,0,0,0,0;

0,0,0,0,0,0,0,0,1,4,1,0,0,0,0;

0,0,0,0,0,0,0,0,0,1,4,1,0,0,0;

0,0,0,0,0,0,0,0,0,0,1,6,2,0,0;

0,0,0,0,0,0,0,0,0,0,0,2,6,1,0;

0,0,0,0,0,0,0,0,0,0,0,0,1,4,1;

0,0,0,0,0,0,0,0,0,0,0,0,0,1,6];

D=[.06;0;.03;-.03;.03;0;0;0;-6e-3;-.012;-6e-3;-.018;-6e-3;-.012;-9e-3];

N=inv(M);

S=N*D;

for i=2:16

s(i)=S(i-1,1);

end

for i=1:16

b(i)=s(i)/2

a(i)=(s(i+1)-s(i))/(6*h(i))

p(i)=(y(i+1)-y(i))/h(i);

f(i)=((2*h(i).*s(i))+h(i).*s(i+1))/6;

c(i)=p(i)-f(i)

q(i)=y(i)-(c(i).*x(i))+(b(i).*(x(i)^2))-(x(i)^3)

f=a(i)*x^3+(b(i)-3*a(i)*x(i))*x^2+((3*a(i)*(x(i).^2))x-(2*b(i)*x(i))+c(i))+q(i)

end

 

میشه به این برنامه هم یه نگاهی بندازید تو تعریف f ارور میده من میخام 17 تا معادله بهم بده اما نمیده چه کنم؟

لینک به دیدگاه
بله درسته اما شرط باید این باشه حالا چه کنم که درست بشه لطفا کمکم کنید تا برنامم را ادامه بدم

 

دسور while بدین صورت هستش که شما یک شرط میذاری اگر شرط درست بود عبارت زیر while اجرا میشه و اگر اشتباه بود از اجرای while گذرمیکنه و ادامه برنامه. پس باید در عبارت زیر while کدی قرار بدید که در نهایت شرط مقابل while نادرست باشه و بره دنبال بقیه برنامه! در کد شما شرط مقابل while هیچ تغیری نمیکنه و اگر b0

والا واقعا سخته کد شما رو دست زدن چون هیچی نمیشه ازش فهمید. تنها نویسنده کد میتونه بفهمه چی نوشته :)

لینک به دیدگاه
دسور while بدین صورت هستش که شما یک شرط میذاری اگر شرط درست بود عبارت زیر while اجرا میشه و اگر اشتباه بود از اجرای while گذرمیکنه و ادامه برنامه. پس باید در عبارت زیر while کدی قرار بدید که در نهایت شرط مقابل while نادرست باشه و بره دنبال بقیه برنامه! در کد شما شرط مقابل while هیچ تغیری نمیکنه و اگر b0

والا واقعا سخته کد شما رو دست زدن چون هیچی نمیشه ازش فهمید. تنها نویسنده کد میتونه بفهمه چی نوشته :)

 

ممنون از توضیحاتتون مشکلاتم برطرف شد مرسی:icon_gol:

لینک به دیدگاه
  • 3 ماه بعد...

میخوام به جایِ اینکه ماتریس K و m رو از رو یه سیستم در بیارم و در نهایت FRF رو در بیارم ، با بلوکای SimMechanics ، سیستم رو مدل کنم و x/F رو بدست بیارم ... !

منتها بدیش اینه که time domain در میاد ، میخوام ببرم تو frequency domain ، گیر میوفتم !

ینی میبرما ... منتها یه سری مشکل دارم ... کسی تجربه ای داره ؟

لینک به دیدگاه

سلام رفقا :ws3:

من یه پروژه برای درس محاسبات عددی دارم (برای روش های گوناگون باید مثال بزنیم) حالا من با استفاده از اینترنت و سرچ و تحقیق تقریبن تونستم بیشترش رو به دست بیارم :hapydancsmil:

تا حالام با متلب کار نکردم اصن بلد نیستم :icon_pf (34)::whistle::ws52::ws52:

میشه فقط به من توضیح بدید که چجوری باید اینهارا باز کنم و ببینمشون خودم؟

مرسی :icon_gol:

لینک به دیدگاه
سلام رفقا :ws3:

من یه پروژه برای درس محاسبات عددی دارم (برای روش های گوناگون باید مثال بزنیم) حالا من با استفاده از اینترنت و سرچ و تحقیق تقریبن تونستم بیشترش رو به دست بیارم :hapydancsmil:

تا حالام با متلب کار نکردم اصن بلد نیستم :icon_pf (34)::whistle::ws52::ws52:

میشه فقط به من توضیح بدید که چجوری باید اینهارا باز کنم و ببینمشون خودم؟

مرسی :icon_gol:

 

سلام

 

چیزی که دانلود کردید به احتمال زیاد یک فایل با پسوند m. هستش که اگر متلب رو نصب دارید روی کامپیوتر که میتونید بازش کنید و Run کنید و اگر نه هم میتونید با NotePad بازش کنید و برنامه نوشته شده رو ببینید.

لینک به دیدگاه
سلام

 

چیزی که دانلود کردید به احتمال زیاد یک فایل با پسوند m. هستش که اگر متلب رو نصب دارید روی کامپیوتر که میتونید بازش کنید و Run کنید و اگر نه هم میتونید با NotePad بازش کنید و برنامه نوشته شده رو ببینید.

 

مرسی :icon_gol:

تو ورد تونستم باز کنم برنامشو ببینم هنوز متلب رو هنوز نصب نکردم :ws3::ws3:کار خاصی پس نباید انجام بدم تا ران بشه دیگه ؟؟ مثل اجرا کردن برنامه به زبان های دیگس؟

لینک به دیدگاه
مرسی :icon_gol:

تو ورد تونستم باز کنم برنامشو ببینم هنوز متلب رو هنوز نصب نکردم :ws3::ws3:کار خاصی پس نباید انجام بدم تا ران بشه دیگه ؟؟ مثل اجرا کردن برنامه به زبان های دیگس؟

شما متلب رو نصب کنید، ضرر نمیکنید:icon_gol:

لینک به دیدگاه
مرسی :icon_gol:

تو ورد تونستم باز کنم برنامشو ببینم هنوز متلب رو هنوز نصب نکردم :ws3::ws3:کار خاصی پس نباید انجام بدم تا ران بشه دیگه ؟؟ مثل اجرا کردن برنامه به زبان های دیگس؟

 

بله مثل زبان های دیگه بهش ورودی میدید و خروجی میگیرید.

لینک به دیدگاه
  • 4 هفته بعد...
درود...تا حالا نمودار سه بعدی متلب رو رسم کردید؟دستورش چیه؟

 

میخواین خط رو در فضا رسم کنید دستور plot3 استفاده کنید

اگر هم میخواید سطح داشته باشین از دستور surf میتونید استفاده کنید

لینک به دیدگاه
درود...تا حالا نمودار سه بعدی متلب رو رسم کردید؟دستورش چیه؟

 

سلام

 

همون طور که جناب sadegh1068 فرمودن از plot3 , mesh , surf میتونید استفاده کنید.

 

2 نمونه مثال میذارم که دقیقا جای mesh میتونید از surf استفاده کنید :

 

ps3v91tmmm3xs3e0i8z.jpg

 

jc3tasw9vn79vue5roqq.jpg

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • اضافه کردن...