trochę nietypowy problem

Robię tabelaryzację pewnej funkcji. Mam 3 zmienne po 100 wartości. Teraz jak rozpisać wszystkie możliwe kombinacje tych 3 zmiennych. Ręcznie to zajmie dużo czasu. Czy można to w jakiś łatwy sposób zrobić za pomocą exala lub matlaba?

Reply to
skasuj
Loading thread data ...

skasuj napisał(a):

W matlabie (Jezu, to już 10 lat temu) żaden problem bo do tego służy definiujesz macierz trójwymiarową argumentów i już W excelu to może być kłopot, bo to z założenia tabela dwuwymiarowa Romek

Reply to
Roman Rogóż

Napisz coś jaśniej to może coś się wymyśli. Ja bym spróbował w excelu lub bardzo stram programie, który potrafi znaleźć funkcję na podstawie danych - program ten to "grapher".

Jacek "Plumpi"

Reply to
Jacek "Plumpi

...

Jeśli dobrze zrozumiałem chcesz wypisac wszystkie kombinacje tych 3 zmiennych? Jeśli tak to można napisać prościutki programik np w C++ coś na wzór takiego:

#include <iostream>

#include <stdlib.h>

#include <fstream>

using namespace std;

int main() { ofstream plik; int menu=0; do{ cout<<"\n Kombinacje\n"; cout<<"\n Program zapisuje na dysku wszystkie kombinacje 3 zmiennych w podanym zakresie\n dla liczb calkowitych\n\n"; cout<<"\n Menu:\n 1. Dla 3 zmiennych x y z\n 2. Wyjscie\n\n Wybor: "; cin>>menu; plik.open("kombin.txt");

switch(menu){ case 1://kombinacje x y z int ilx,ily,ilz; cout<<"\n Podaj ilosc x: "; cin>>ilx; cout<<"\n Podaj ilosc y: "; cin>>ily; cout<<"\n Podaj ilosc z: "; cin>>ilz; plik<<"x y z :::: ilosc kombinacji= "<<ilx*ily*ilz<<"\n"; int x,y,z; x=ilx;y=ily;z=ilz; for(x;x>0;x--){ for(y;y>0;y--){ for(z;z>0;z--){ plik<<x<<" "<<y<<" "<<z<<"\n"; } z=ilz; } y=ily; } break; } }while(menu!=2); plik.close(); system("PAUSE"); return 0; }

Reply to
Karol Wdowikowski

w exelu to też nie byłby wielki problem, gdyby nie to, że tablice excela są tylko 256 kolumn x 65536 wierszy. Tu masz 1000000 wierszy, więc wziąłbym matlaba. Na przykład coś takiego:

function pisz(x,y,z) % x, y, z to twoje zmienne o wymiarze 100 % jak do zbioru to: % fd = fopen('zbiór.txt', 'w'); for i=1:100 for j = 1:100 for k = 1:100 fprintf('%f\t%f\t%f\n', x(i), y(j), z(k)); % fprintf(fd, '%f\t%f\t%f\n', x(i), y(j), z(k)); % jak do zbioru end end end

ino to będzie dość duże :-)

Waldek

Reply to
Waldemar Krzok

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.