مساعده ف الماتلاب

x=1.02254785;
y=fi(x,1,15,3);
error=(y-x)^2

فى ايرور بيطلع ف السطر الاخير بس مش عارف سببة اية ممكن تساعدونى ف حلة

تانى حاجة انا لو عامل فور لوب على مثلا x
مثلا

for x=1:10
for z=1:100
y=x*(z-1)
end 
end 

عايز ارسم x ,y
يعنى ارسم لما x 1 قيم الy
وهكذا بستخدم امر plot(x,y)
ولا فى حاجة تانية

شكرا مقدما

بالنسبة للجزء الاول يمكن تنفيذه كما يلى

x=1.02254785;
y=fi(x,1,15,3);
z = y - x;
error=z.data ^2

والجزء الثانى يكون كما يلى

hold on
for x=1:10
for z=1:100
y=x*(z-1);
plot(x,y)
end 
end
hold off

شكرا لردك السريع
بس هتقل عليك شوية

هو الكود اللى باستخدم الحاجات دى فية

هو ده

clc;close all;clear all;
% n=4
for t=-pi:0.01: pi
    x=sin(t);
    figure;
        plot(t,x);
      hold on   
    grid on
    for ii=1:length(t)
               for n=1:10
    y=fi(x,1,(2^(n+1)),(2^(n/2)));
    figure;
       plot(t,y,'r');
    hold on
               end
   z = y - x;
error=z.data ^2;
figure;
plot(n,error)
hold on 
gride on 
    end
end

المفروض انى بارسم الشكل الاول و التانى و التالت كل واحد فى figure
بس المشكلة الاولى انة بيرسم كل نقطة فى شكل
تانى حاجة بيطلع ايرور

هو ده اللى المفروض الكود يعملة “” 1) Generate any signal , quantize it to 2^(n+1 )bits (Hint: search for the fi command) , assume 1 sign bit and the other bits are equally divided between the integer and the fraction part( n bits each).Draw the quantization error on the Y axis versus n bits on the horizontal axis , the quantization error is defined as( quantized value-true value).^2""

ااااسف انى طولت عليك اوى كده

ضع الامر figure; خارج ال for
لانه عند كل مرة تنفيذ سيتم فتح figure جديد

لقد قمت بعمل بعض التعديلات فى البرنامج

clc; close all; clear all;
% n=4
t = -pi : 0.01 : pi;
x = sin(t);
figure;
plot(t, x);
grid on 

for n = 1 : 10
    y = fi(x, 1, (2 ^ (n + 1)), (2 ^ (n / 2)));
end
figure;
plot(t, y, 'r');
grid on

z = y.data - x;
error=z.^2;  
figure;
plot(t, error)  
grid on

شكراا ليك
الحمد لله بعد اللى قولتهولى قدرت اضبط الشكل

الحمد لله وبالتوفيق ان شاء الله فى دراستك
ونتمنى ان تشارك معنا فى المنتدى وتفيد الاخرين بما لديك

ان شاء الله

السلام عليكم شكرا لمساعدتك لى ف الكود ده

clc;close all;clear all;
n=5;
t=-pi:0.01: pi;
x=sin(t);
figure;
plot(t,x);
hold on
grid on
for ii=1:length(t)
for n=1:10
y=fi(x,1,(2^(n+1)),(2^(n/2)));
end
end
figure;
plot(t,y,‘r’);
hold on
grid on
z = y.data - x;
error=z.^2;
figure;
plot(t, error)
grid on

انا عملت فية حبة تعديلات بس بيطلعلى ايرور
التعديلات اللى عملتها انى خليت الn for 1 to 10
و حاولت احطها فى ماتريكس
بس طلعلى ايرور
انا اللى عايز اعملى
ان ال n تبقى متغير ب فور لوب
و الerror زى ما هو
بس اخر رسم يبقى مع n مش مع ال t
فى حاجة زياده لو تقدر تعدلهالى ف الفور لوب بتاعة ال n
المفروض بارسم plot(t,y,‘r’);
لو ينفع ارسم لما كل n يرسم كل واحده ف شكل يعنى n =1 فى شكل n=2 فى شكل لو ينفع

لو ما تقدرش تعملى التعديلات دى قولى ازاى تتعمل

شكرا مقدما …

جرب الاتى


clc;close all;clear all;
n=5;
t=-pi:0.01: pi;
x=sin(t);
figure;
plot(t,x);
grid on

for n=1:10
y(n, :)=fi(x,1,(2^(n+1)),(2^(n/2)));
figure;
plot(t,y(n, :),'r');
grid on
z(n, :) = y.data(n, :) - x;
error(n, :) = z(n, :) .^ 2;
end


figure;
plot(error)
grid on