[Çözüldü]matlab için bir betik hazırlığı

Başlatan zeusmaster, 07 Mart 2012 - 12:34:10

« önceki - sonraki »

0 Üyeler ve 5 Ziyaretçi konuyu incelemekte.

zeusmaster

Matlab'ta yazılmış bir kodumuz var.Bu kod bir klasör içinde 8 adet subroutine içermekte.Biz bu klasör içine her defasında V00.mat isminde bir dosya atıp KATNALARA_BAK.m dosyasını matlab ta çalıştırmamız gerekiyor.Bundan kurtulmak adına bir betik hazırlıyorum ama şöyle bir sorunla karşılaştım;

KATMANALARA_BAK.m yi çalıştırmak için;
matlab KATMANLARA_BAK.m
diyorum ama direk matlab'ı çalıştırıyor istediğim dosyayı değil.Bunu nasıl başarabilirim?
Up and Running...

if

#1
@bahdem, bu hazırladığınız betiğin içeriğini görebilir miyim?

zeusmaster

Alıntı yapılan: if - 07 Mart 2012 - 13:48:06
@bahdem, bu hazırladığınuz betiğin içeriğini görebilir miyim?
henüz daha yazmaya başlamadım.Ama mantık şu;
betik ile V00.mat dosyasını göstereceğim.O bu dosyayı alıp subroutin lerin olduğu klasöre kopyalayacak ve içerideki KATMANLARA_BAK.m dosyasını çalıştıracak.Direk olarak o dosyayı konsol üzerinden başlatmayı başaramadığım için başlamadım :)
Up and Running...

if

@bahdem, matlab KATMANLARA_BAK.m deyince ne olmasını bekliyorsunuz? Normalde matlab'ın çalışması gerek zaten.

zeusmaster

@if
Normalde düz mantık düşünürsem;
gfortran x.for
dediğimde fortranı başlatmıyor x dosyasının fortran ile çalıştırıyor.İşte ben bunu bekliyorum :)
KATMANLARA_BAK.m dosyasını çalıştırmasını ve sonuçlarını vermesini bekliyorum :)
Up and Running...

if


zeusmaster

@if

Normalde matlabı açık file menüsünden KATMANLARA_BAK.m dosyasını çağırınca hata vermiyor.
bahdem@bahdem:~/Desktop/4-sefanin programinin sonuclari$ matlab -nojvm -nodesktop -r "run KATMANLARA_BAK.m"
/home/bahdem/MATLAB/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found

                                 < M A T L A B (R) >
                       Copyright 1984-2010 The MathWorks, Inc.
                     Version 7.10.0.499 (R2010a) 64-bit (glnxa64)
                                   February 5, 2010


  To get started, type one of these: helpwin, helpdesk, or demo.
  For product information, visit www.mathworks.com.

>> ??? Undefined variable "KATMANLARA_BAK" or class "KATMANLARA_BAK.m".

Error in ==> run at 74
    evalin('caller',[script ';']);


bahdem@bahdem:~/Desktop/4-sefanin programinin sonuclari$ matlab -nojvm -nodesktop -r "run <KATMANLARA_BAK>.m"
/home/bahdem/MATLAB/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found

                                 < M A T L A B (R) >
                       Copyright 1984-2010 The MathWorks, Inc.
                     Version 7.10.0.499 (R2010a) 64-bit (glnxa64)
                                   February 5, 2010


  To get started, type one of these: helpwin, helpdesk, or demo.
  For product information, visit www.mathworks.com.

>> ??? Error using ==> run at 76
<KATMANLARA_BAK>.m not found.


matlab -nojvm -nodesktop -r "<the-script>"
??? Error: Unexpected MATLAB operator.


Up and Running...

if

@bahdem, matlab -nojvm -nodesktop -r "run /nerede/bu/dosya/KATMANLARA_BAK" şeklinde çalıştırıp deneyelim.

zeusmaster

@if
Ekrana grafik arayüzü geldi ama grafik gözükmüyor şimdi
bahdem@bahdem:~$ matlab -nodesktop -r "run /home/bahdem/Desktop/4/KATMANLARA_BAK.m"/home/bahdem/MATLAB/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found

                                 < M A T L A B (R) >
                       Copyright 1984-2010 The MathWorks, Inc.
                     Version 7.10.0.499 (R2010a) 64-bit (glnxa64)
                                   February 5, 2010


  To get started, type one of these: helpwin, helpdesk, or demo.
  For product information, visit www.mathworks.com.

>> ??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback
Up and Running...

if

matlab -nodesktop -nosplash -r "/nerede/bu/dosya/KATMANLARA_BAK" olarak çalıştırsak.

zeusmaster

@if
bahdem@bahdem:~$ matlab -nodesktop -nosplash -r "/home/bahdem/Desktop/4/KATMANLARA_BAK.m"
/home/bahdem/MATLAB/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found

                                 < M A T L A B (R) >
                       Copyright 1984-2010 The MathWorks, Inc.
                     Version 7.10.0.499 (R2010a) 64-bit (glnxa64)
                                   February 5, 2010


  To get started, type one of these: helpwin, helpdesk, or demo.
  For product information, visit www.mathworks.com.

>> ??? Error: Unexpected MATLAB operator.


Bir de şu şekilde denedim
bahdem@bahdem:~$ matlab -nodesktop -nosplash -r "run /home/bahdem/Desktop/4/KATMANLARA_BAK.m"
/home/bahdem/MATLAB/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found

                                 < M A T L A B (R) >
                       Copyright 1984-2010 The MathWorks, Inc.
                     Version 7.10.0.499 (R2010a) 64-bit (glnxa64)
                                   February 5, 2010


  To get started, type one of these: helpwin, helpdesk, or demo.
  For product information, visit www.mathworks.com.

>> ??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback

??? Undefined function or method 'plot_graph' for input arguments of type 'single'.

??? Error while evaluating uicontrol Callback


Bu sefer gene aynı şekilde çalışıyor grafiği göstermiyor.
Up and Running...

if

@bahdem, -nodesktop parametresini silip deneyin.

zeusmaster

Alıntı yapılan: if - 07 Mart 2012 - 16:17:21
@bahdem, -nodesktop parametresini silip deneyin.

@if
Hocam şuan oldu :)
Betiği yazmaya koyuldum.Yazayım buraya ekleyip başlığı etiketliyeceğim.Teşekkür ederim
Up and Running...

if

Rica ederim @bahdem. İlk başta o komutla çalıştıramadığımızı düşündüm ama sonra dikatli bakınca hatamızın nerede olduğunu anladım.

zeusmaster

#!/bin/bash

SEC=`yad --form --title 'MATLAB dosya okuyucu' \
--field='Ana dizin konumu:DIR' \
--button='gtk-execute:0' --button='gtk-quit:1' \
--fixed --sticky --mouse`

dosya="${sec_listesi[0]}"

cd /var/www/Matlab
rm V00.mat
cd ~
cd "$dosya"
cp V00.mat /var/www/Matlab
matlab  -nosplash -r "run /var/www/Matlab/KATMANLARA_BAK.m"



yazdığım kod bu.İlk zaman çalıştırdım sonra ne yaptıysam çalışmadı :( Sanırım V00.mat dosyasını kopyalayamıyor dizine.Hata nerde?
Up and Running...

if

@bahdem, bana sormayın. Sizin bash bilgisi benimkinden iyi:)

Hah, şimdi aklıma geldi, cp V00.mat /var/www/Matlab komutu için sudo gerek değil mi?

heartsmagic

Hata basmıyor mu betik? Ayrıca betik root haklarıyla mı çalıştırılıyor? Eğer çalıştırılmıyorsa /var/www/Matlab altına yazma hakkı var mı normal kullanıcının?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

zeusmaster

@if ve @heartsmagic başlangıçta söylemeyi unuttum. /var/www kalsörüne gerekli hakları daha önceden vermiştim:O dizin root dizini değil.
Hatayı iletide söyledim ama kod olarak yazmamıştım :)
cp: cannot stat `V00.mat': No such file or directory
Up and Running...

if

@bahdem, cd "$dosya" komutunda 'dosya' değişkeni var ama bu dosya tanımlanmamış anladığım kadarıyla.

zeusmaster

@if
dosya="${sec_listesi[0]}"
olarak tanımladım.Yanlışmıyım?
Up and Running...

if


zeusmaster

aslında bence hata orada dosya tanımlanamıyor tanımlamada hata var :) Seç listesi bash da otomatik olmuyor sanırım.Bakalım bir bilgisi olan çıkacak mı :)
Up and Running...

cagriemer

sec_listesi[0] dediginiz yeri SEC[0] ile degistirip dener misiniz?

zeusmaster

Alıntı yapılan: cagriemer - 08 Mart 2012 - 10:42:41
sec_listesi[0] dediginiz yeri SEC[0] ile degistirip dener misiniz?
Bu sefer bir fazla hata verdi :)
/home/bahdem/Desktop/matlab_deneme: line 13: cd: /home/bahdem/Desktop/dene|: No such file or directory
cp: cannot stat `V00.mat': No such file or directory
Up and Running...

cagriemer

Problem su ki SEC[0] su anda /home/bahdem/Desktop/dene| diye bir sey donduruyor. Sondaki boru niye geliyor anlayamadim. O dizine gecemediginiz icin de V00.mat dosyasi olmadigindan kopyalama hatasi aliyorsunuz. Birkac farkli dosya icin su asagidaki sekilde dener misiniz?

#!/bin/bash

SEC=`yad --form --title 'MATLAB dosya okuyucu' \
--field='Ana dizin konumu:DIR' \
--button='gtk-execute:0' --button='gtk-quit:1' \
--fixed --sticky --mouse`

dosya="${SEC[0]}"
echo $SEC
echo $dosya