2016-03-20 28 views
1

Daha sonra katı çalışmalara aktarılacak bir matlab komut dosyası oluşturuyorum. Bir döngü denkleminden değerlerin saklanması için yardıma ihtiyacım var. Kod aşağıdadır. Azalmış yarıçaplı z ekseni boyunca 3B aralıklı olarak elipsler oluşturmak istiyorum. Girilen verileri nasıl depolayabilirim ve sonra bu verileri 3B grafiğe kaydedebilirim?3D matlab'da değerlerin ve çizimlerin saklanmasında yardıma mı ihtiyacınız var

% 1TotalMesurments 

prompt={'Enter the number of measurements taken', ... 
     'Enter the distance between each measurement in inches'} 

name = 'Step 1 total measurements and distance'; 

answer = inputdlg(prompt, name); 

s= str2double(answer{1}); %Number of measurement 
d= str2double(answer{2}); %Distance between each measurement 

% 3LoopOfCircumferenceAndWidth 

for i=1:s %s is predefined in 1TotalMeasurments 

    % 2Circumferenceandwidth% 

    prompt = {'Enter the Circumference of 1st point', ... 
       'Enter the approximate width of your arm'}; 

    title = 'Circumference and width of arm at first point'; 

    answer = inputdlg(prompt, title); 

    C = str2double(answer{1}); %Circumference 
    X = str2double(answer{2}); %width radius value 
    Y=(((C./(2.*pi))^2).*2)-(X./2)^2; %height radius value 

    plot(X,Y) 

    hold on 
end 

cevap

0

Değerleri döngüden saklamak için sayısal bir dizi veya hücre dizisi kullanmak isteyeceksiniz. İlk önce verilerinizi döngü dışında saklamak için dizileri başlatmak ve döngü boyunca her yineleme ile doldurmak istiyoruz. İşte bahsettiğim şeyin kaba bir fikri.

% Pre-allocate the array based on the total # of measurements 
Cvalues = zeros(s, 1); 
Xvalues = zeros(s, 1); 
Yvalues = zeros(s, 1); 

for k = 1:s 
    prompt = {'Enter the Circumference of 1st point', ... 
       'Enter the approximate width of your arm'}; 

    title = 'Circumference and width of arm at first point'; 

    answer = inputdlg(prompt, title); 

    C = str2double(answer{1}); %Circumference 
    X = str2double(answer{2}); %width radius value 
    Y = (((C./(2.*pi))^2).*2)-(X./2)^2; %height radius value 

    % Assign them to your arrays for storage 
    Cvalues(k) = C; 
    Xvalues(k) = X; 
    Yvalues(k) = Y; 

    plot(X,Y) 

    hold on 
end 

C, X ve Y çeşitli aşamalarında farklı boyutlarda döngü içinde ise (sizinki ile durum gibi görünmüyor), sayısal bir dizinin yerine hücre dizisi kullanmak istersiniz.

İlgili konular