Bonjour,
Je souhaiterais extraire d'une matrice les lignes non-nulles.
J'ai vu que la fonction sparse correspond, mais elle ne me renvoie pas une matrice, mais des adresses et leur valeurs associées.
Voici mon code :
En fait, je charge un tableau qui comprend sur la 1ère colonne des temps, et sur les colonnes suivantes l'évolution de la température à différentes coordonnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 %Calcul de N clear clc Tfusion=input ('Entrer la Température de fusion? \n') L=load ('C:\Documents and Settings\Sartorius\Mes documents\Sartorius_Stedim\sortie_matlab\Tmilieu.txt','-ASCII'); %charge le tableau des températures m=round(length(L(1,:))/2); for k=1:length(L(:,1)) %met à zeros les lignes où T milieu<Tfusion if L(k,m) < Tfusion L(k,:)=0; end end L = sparse(L) pause temps=L(:,1); tf=length(temps); T=L(:,2:length(L(1,:))); A=7.3e-6; Ea=6e4; [Derive]=calcul_expo(A,Ea,T); Simpson(Derive,temps(1),temps(tf));
Je souhaite avoir un tableau qui ne comporte que les cellules dont la température est supérieure à une valeur fixe ( Tfusion dans mon cas). C'est pourquoi, j'ai choisi de mettre à 0 toutes les cellules ne satisfaisant pas cette condition, et que je veux enlever les lignes avec les 0.
Partager