WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Volumen aus Punkten berechnen

 

sveni
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 18.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2015, 18:57     Titel: Volumen aus Punkten berechnen
  Antworten mit Zitat      
Hallo
Ich habe ein folgende Problem und zwar:
Aus der FEM-Simulation erhalte ich Koordinatenpunkte, die Punkte habe ich um z-Achse rotiert. aus den rotierenden Punkten möchte ich die Volumen berechnen.

Gibt es die Möglichkeit, die Volumen zu berechnen?

Anbei die Code für die anschauliche Darstellung.

Code:
%
clear all
close all

fID = fopen('nodesxyz_truncated1.txt');
results_1 = textscan(fID, '%f %f %f %f');
fclose(fID);
x = results_1{:,2};
y = results_1{:,3};
z = results_1{:,4};

m=1;
n=50;
t=(0:n)'*2*pi/n;
o = length(x);

for i=1: o
   for j=1:1:n+1
        X = x(i)*cos(t(j))-y(i)*sin(t(j));    %Drehung um die z-Achse
        Y = x(i)*sin(t(j))+y(i)*cos(t(j));
        Z = z(i);

        B(m,1)=X;
        B(m,2)=Y;
        B(m,3)=Z;
        m = m+1;
        end
end

stem3(B(:,1),B(:,2),B(:,3), 'Linestyle', 'none');
 


nodesxyz_truncated1.txt
 Beschreibung:

Download
 Dateiname:  nodesxyz_truncated1.txt
 Dateigröße:  2.38 KB
 Heruntergeladen:  280 mal
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 18.02.2015, 19:41     Titel:
  Antworten mit Zitat      
hmm wenn der körper so einfach aussiht würde ich einfach versuchen ne funtkion druch zu legen und das rotationsintegral analythisch zu bilden.
Code:


close all

fID = fopen('nodesxyz_truncated1.txt');
results_1 = textscan(fID, '%f %f %f %f');
fclose(fID);
x = results_1{:,2};
y = results_1{:,3};
z = results_1{:,4};

x=x(I);
plot(x,B)
hold all
p=polyfit(x,B,2);
plot(x,polyval(p,x));

da hast du dann in p deine polynom coeffizienten. da sollte man dann doch das rotationsintegral ausrechenn können
allternativ könnte ich mir vorstellen mit den punkten das integral auch nummerisch auszurechnen mit hilfe der summe der kreisscheiben.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
sveni
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 18.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2015, 13:16     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort, Winkow

Gerade bin ich dabei die Funktion mit Polynomkoeffizienten mit Rotationsintegral auszurechnen. Das Integral um die Y-Achse lautet hier im Fall:
V = pi*integral( (f(y))^2*dy )

Hier die Code:
Code:

ymax = max(A(:,3));

func = @(y) polyval(p,x).^2;
Int = pi*integral(func,0,ymax);


Leider kommt bei mir die Fehlermeldung:

Error using integralCalc/finalInputChecks (line 515)
Output of the function must be the same size as the input. If FUN is an array-valued integrand, set the
'ArrayValued' option to true.

Error in integralCalc/iterateScalarValued (line 315)
finalInputChecks(x,fx);

Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);

Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);

Error in integral (line 88 )
Q = integralCalc(fun,a,b,opstruct);

Error in Untitled5 (line 34)
Int = pi*integral(func,0,ymax);

Woran kann es liegen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.