سوال متلب تابع چندضابطه - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

سوال متلب تابع چندضابطه

0 امتیاز

 

یه سوال از نرم افزار متلب  دارم
 
 یه تابع چند ضابطه رو در متلب تعریف کردم
 
  اما درست کار نمی کنه.و شروط 8 و 11 و 15  رو اجرا نمی کنه.
 
شما نمی دونیین مشکل کار کجاست؟
 
میتونین راهنمایی کنین؟
 
 
1       x=input('please inter your number: ')
2       if x<0
3       y=x.^2*cos(x);
4       y
5       elseif 0<=x<5
6       y=(floor(x)).^2;
7       y
8       elseif x==5
9       y=0;
10     y
11     elseif 5<x<10
12     y=sin(x);
13     y
14     else
15     disp('invalid')
16     end

 

 
سوال شده دی 24, 1397  بوسیله ی aliabiri (امتیاز 12)   1 1 2
ویرایش شده دی 24, 1397 بوسیله ی مصطفی ساتکی

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
بر اساس کدی که ارائه کردید، چند مشکل وجود دارد:
 
1-تورفتگی ناسازگار: تورفتگی ناسازگار است و پیروی از منطق کد را دشوار می کند. استفاده از یک سبک تورفتگی ثابت در متلب تمرین خوبی است.
 
2- عبارات گمشده در بلوک های شرطی: در شرایط 3، 6، 9 و 12، کلمه "years" را دارید که یک دستور متلب معتبر نیست. این می تواند باعث خطا یا رفتار غیرمنتظره شود.
 
3-شرط 8 کامل نیست: شرط "if x==5" کامل نیست زیرا بعد از آن هیچ عبارتی برای تعیین مقدار y وجود ندارد.
 
در اینجا یک نسخه به روز شده از کد است که به این مشکلات رسیدگی می کند:
x = input('please enter your number: ');
if x < 0
    y = x.^2 .* cos(x);
elseif 0 <= x && x < 5
    y = floor(x).^2;
elseif x == 5
    y = 0;
elseif 5 < x && x < 10
    y = sin(x);
else
    disp('invalid');
    y = NaN;
end
disp(y);

 

 

پاسخ داده شده بهمن 11, 1401 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
انتخاب شد شهریور 8, 1402 بوسیله ی مصطفی ساتکی
...