Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Деление элементов двух матриц из txt / 3 сообщений из 3, страница 1 из 1
23.05.2012, 16:51:50
    #37808251
gessy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление элементов двух матриц из txt
Для расчета по курсовой приходится осваивать программирование, ибо эксель такие огромные матрицы не считает.
Задача: считываются две матрицы одинаковой размерности из файлов txt, элементы 1й делятся на элементы 2й, записываются в новую матрицу. Затем находится среднее значение в новой матрице.
...
Рейтинг: 0 / 0
23.05.2012, 16:58:06
    #37808266
Konstantin Permyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление элементов двух матриц из txt
gessy,

при всем моем уважении к Java, чем Вас Matlab или R не устраивают?
...
Рейтинг: 0 / 0
23.05.2012, 23:07:37
    #37808721
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление элементов двух матриц из txt
gessy,

Попробуйте, как вариант -

Код: java
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
...
/**
 * @author ivanov-void
 */
public class Main {
	/**
	 * @param argc
	 */
    public static void main(String[] argc) {    	
		double a1[][],a2[][],a3[][];
		
		a1 = reforming("...........");
		a2 = reforming("...............");
		a3 = devide(a1, a2);
		
		System.out.println(getAverage(a3));
    }
    /**
     * 
     * @param fN
     * @return
     * @throws IOException
     */
    public static String[] readf(String fN) throws IOException {
        FileReader fR = new FileReader(fN);
        BufferedReader bR = new BufferedReader(fR);
        List<String> l = new ArrayList<String>();
        
        String s = null;
        while((null != (s = bR.readLine())))
            l.add(s+" ");            
        
        bR.close();
        return l.toArray(new String[l.size()]);
    }
    /**'
     * 
     * @param a
     * @return
     */
    public static double getAverage(double[][] a) {
    	double s = 0;
    	int c = 0;
    	for(int i = -1; ++i < a.length;)
        	for(int j = -1; ++j < a[i].length; s = s + a[i][j], c++);        		        		
    	
    	return s/ c;
    }
    /**
     * 
     * @param fN
     * @return
     */
    public static double[][] reforming(String fN) {
    	String[] l = null;
		try {
			l = readf(fN);
		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
		int s = l.length;
		double a[][] = new double[s][s];
   		for(int i = -1; ++i < s;) {    			    			
    		StringTokenizer st = new StringTokenizer(l[i], "\t\n\r,. ");  
    		
    		int lSize = st.countTokens();
    		for(int j = -1; ++j < lSize;) {
    			String token = st.nextToken();
    			a[i][j] = Double.parseDouble(token); 
    		}           		
		}
   		return a;
    }
    /**
     * 
     * @param a1
     * @param a2
     * @return
     */
    public static double[][] devide(double a1[][], double a2[][]) {
    	double[][] a3 = new double[a1.length][a1.length];
     	for(int i = -1; ++i < a1.length;)
        	for(int j = -1; ++j < a1[i].length; a3[i][j] = a1[i][j] / a2[i][j]);        			
     	return a3;
    }     	    
}
...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Деление элементов двух матриц из txt / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]