Quantcast
Channel: Mein MATLAB Forum - goMatlab.de
Viewing all articles
Browse latest Browse all 28441

Polynomfunktion umstellen

$
0
0
Hallo Harald, es funktioniert genauso, wie es soll. Probleme gibt es nur bei den Werten, die außerhalb meiner Kalibrierfunktion liegen (bei position=-7 und position = 15). Damit es rechnet, habe ich es jetzt erst einmal so gelöst, auch wenn ich mir hier noch anschauen muss, wie das physikalisch zu deuten ist (es geht um das Vermessen einer Nachlaufdelle eines umströmten Körpers mittels Dreilochsonde). function [passende_winkel] = WinkelAusk_Beta() clc clear all load messung_0.txt position = messung_0(:,1); p_1 = messung_0(:,2); p_2 = messung_0(:,3); p_3 = messung_0(:,4); % Mittelwert aus Druck links und rechts p_m = (p_2+p_3)./2; % direction coefficient k_Beta_Messung = (p_2-p_3)./(p_1-p_m); fid = fopen('k_Beta_Messung.txt','w'); fprintf(fid, '%i %f\n', [position k_Beta_Messung]'); fclose(fid); plot(position, k_Beta_Messung) grid %axis([-75 75 -10 10]) load k_Beta_Kalibrierung.txt winkel = k_Beta_Kalibrierung(:,1); k_Beta = k_Beta_Kalibrierung(:,2); % das sind die in die Funktion einzusetzenden Messwerte zielwerte = k_Beta_Messung; % das sind die zu ermittelnden Winkel passende_winkel = zeros(size(zielwerte)); % existierender Winkelbereich wird feiner aufgeteilt (linearer Abstand, 200 Punkte) winkelfein = linspace(min(winkel), max(winkel), 200); % zugehörige Funktionswerte interpolieren k_Beta_fein = interp1(winkel, k_Beta, winkelfein, 'spline'); for i = 1:numel(zielwerte); % Nullstellenberechnung passende_winkel(i) = fzero(... @(w) interp1(winkel, k_Beta, w, 'spline') - zielwerte(i), ...[-80, 80]); end figure() plot(winkel, k_Beta, 'k+', winkelfein, k_Beta_fein, 'g', passende_winkel, zielwerte, 'r ...

Viewing all articles
Browse latest Browse all 28441

Latest Images

Trending Articles