Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
I want to open MATLAB File(.m) using Java
I know MATLAB API.
It's a shame, but I don't know how to use it. How can I open MATLAB File(.m) using MATLAB API?
What should I do?
If possible, can you show an example code?
Thank you.
calling matlab function in java
1-first, add matlab as an Environment variable in windows.
in win10: search Environment variable, Edit environment variable, system variables, path, edit, new, ...
add [matlabroot]/bin/win64 to the path variables.
2-import matlab engine in your java class and use MatlabEngine and its functions :(eval,evalAsync,feval,...) :
import com.mathworks.engine.*; //import engine
public class javaEvalFunc {
public static void main(String[] args) throws Exception {
try{
MatlabEngine eng = MatlabEngine.startMatlab();
eng.evalAsync("[X, Y] = meshgrid(-2:0.2:2);");
eng.evalAsync("Z = X .* exp(-X.^2 - Y.^2);");
Object[] Z = eng.getVariable("Z");
eng.close();
}catch(Exception e){}
}
}
3-to call a specific .m routine, call it with its full path with eval,...
eng.eval("c:\temp\myroutine");
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
Please suggest How can I improve my question
I ran my code but it throws cannot find main class error. I know this error comes when name of class with main method is different from file name. I tried to solve this error for an hour. I need help.
CountRows.java
import java.io.*;
import java.sql.*;
public class CountRows
{
public static void main(String args[])
{
System.out.println("Count number of rows in a specific table!");
Connection con = null;
int count = 0;
try
{
//Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctutorial","root","dics");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Execution
>javac -classpath "e:\softwares\java\jar files\mysql-connector-java-8.0.19.jar" CountRows.java
E:\user\java\jdbc\test>java -classpath "e:\softwares\java\jar files\mysql-connector-java-8.0.19.jar" CountRows
Error: Could not find or load main class CountRows
Edit: Although the solution works but I still don't understand what was wrong with my way of executing code
Your Code is working perfectly fine there is no issue in it.
I suggest you set classpath initially before using javac and java tools.
Set your classpath via CMD
set classpath="<EXTERNAL_JAR_FILES_PATH>"
I hope this might help you. If you are still facing the same issue you can ping me back. I will be happy to help you.
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 4 years ago.
Improve this question
I am using Netbeans 7. I was provided with a class file (MT.class), that I need to test. I put it under build>classes.
I created a java class with main method. When I declare a new object using MT class, I get compiler error. Please let me know how to resolve this.
package mypack;
public class MyTest {
public static void main(String[] args) {
MyTest.avgTest();
}
public static void avgTest()
{
double res;
MT mt=new MT();
res=mt.avg(9,4);
System.out.println("The average is " + res);
}
}
If your .class file was compiled under a specific package hierarchy / dir structure, just create this structure under /libs . So if you class full name is foo.bar.MT then create /libs/foo/bar/ and put the .class file inside.
Then right click on your project in NetBeans > Properties > Libraries > Add JAR/Folder > then select the the libs folder from the above example.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I am trying to follow the instructions for installing javaCV from here: https://code.google.com/p/javacv/. I ve already built opencv. Actually I locate the java folder with .jar file and .dll in opencv folder and I add them in the path of my project. When I am trying to run the SimpleSample.java I am receiving Error: Could not find or load main class FaceRecognition. Is there something else I ve got to follow in order to install javaCV? My simple Code
package simplesample;
/**
*
* #author snake
*/
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
public class SimpleSample{
/**
* #param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
EDIT2: I add some jar files (javacv-windows-x86.jar, javacpp.jar, javacv.jar) and I finally got it running. But when I am trying to read a simple jpg image:
public static void main(String[] args) {
// TODO code application logic here
System.out.println("soul makosa");
IplImage image = cvLoadImage("ef.jpg");
if (image != null) {
cvSmooth(image, image, CV_GAUSSIAN, 3);
cvSaveImage("ef1.jpg", image);
cvReleaseImage(image);
}
}
I am reveiving the following errors:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_highgui in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:711)
at com.googlecode.javacpp.Loader.load(Loader.java:586)
at com.googlecode.javacpp.Loader.load(Loader.java:540)
at com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:79)
at projectcv.ProjectCV.main(ProjectCV.java:28)
Caused by: java.lang.UnsatisfiedLinkError: C:\Documents and Settings\chrathan\Local Settings\Temp\javacpp101399456657827\jniopencv_highgui.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
at java.lang.Runtime.load0(Runtime.java:795)
at java.lang.System.load(System.java:1062)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:700)
... 4 more
Java Result: 1
I also add .dll file in properties->run->VM optimize as instructed here giving 'java.library.path' in netbeans for .dll/.so files. However I am still receiving the above message.
SOLVED:Ok my problems was due to the fact that I had to install specific version of javaCV. So for openCV version 2.4.6.1 I ve installed 0.6 java_CV and now works like a charm.
You need to add native class library path while adding opencv jar file into the project
Goto the buildpath>>libraries>>opencv >> click on expand and edit " native library location" to
C:/opencv/build/java/x86
for face FaceRecognition you need to add all jar files from that site
javacv-0.7-bin.zip
javacv-0.7-cppjars.zip
ffmg, etc....
it will work ....
Its working for me
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
my code is :
import ir.sbu.nlp.wordnet.data.model.FNSense;
import ir.sbu.nlp.wordnet.data.model.FNSynset;
import ir.sbu.nlp.wordnet.data.model.FNSynsetsRelation;
import ir.sbu.nlp.wordnet.service.FNSynsetService;
import java.util.Vector;
public class sample2 {
public static void main(String[] args) {
FNSynsetService service=new FNSynsetService();
service.findAll();
}
}
and when I run it display this error
Data Load Started...
Exception in thread "main" java.lang.NullPointerException
at ir.sbu.nlp.wordnet.data.dao.FNWordDao.getTextNode(FNWordDao.java:513)
at ir.sbu.nlp.wordnet.data.dao.FNWordDao.loadWords(FNWordDao.java:438)
at ir.sbu.nlp.wordnet.data.dao.FNWordDao.<init>(FNWordDao.java:76)
at ir.sbu.nlp.wordnet.data.dao.FNDaoManager.<init>(FNDaoManager.java:25)
at ir.sbu.nlp.wordnet.data.dao.FNDaoManager.getInstance(FNDaoManager.java:40)
at ir.sbu.nlp.wordnet.service.FNSynsetService.<init>(FNSynsetService.java:51)
at sample2.main(sample2.java:12)
Can every one help me?
I copy every file needed for installation
Seems like you need to set some object before calling service.findAll();
While this method is executing it might be trying to access some object which is turning out to be null. Debug and find out the exact line which is throwing NPE.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
How can I play module music (.it, .mod, .xm or .s3m files) in a Java application? (Standard Java for desktop machines)
I tried looking at the open source JavaMod, but it had too many files so I didn't know where to start, and the pre-built .jar file wouldn't even run on my machine.
Add javamod.jar to the application class path and try with this code:
public static void main(String[] args) {
try {
Helpers.registerAllClasses();
File music = new File("c:\\test3.XM");
Properties props = new Properties();
props.setProperty(ModContainer.PROPERTY_PLAYER_ISP, "3");
props.setProperty(ModContainer.PROPERTY_PLAYER_STEREO, "2");
props.setProperty(ModContainer.PROPERTY_PLAYER_WIDESTEREOMIX, "FALSE");
props.setProperty(ModContainer.PROPERTY_PLAYER_NOISEREDUCTION, "FALSE");
props.setProperty(ModContainer.PROPERTY_PLAYER_NOLOOPS, "FALSE");
props.setProperty(ModContainer.PROPERTY_PLAYER_MEGABASS, "TRUE");
props.setProperty(ModContainer.PROPERTY_PLAYER_BITSPERSAMPLE, "16");
props.setProperty(ModContainer.PROPERTY_PLAYER_FREQUENCY, "48000");
MultimediaContainerManager.configureContainer(props);
URL modUrl = music.toURI().toURL();
MultimediaContainer multimediaContainer = MultimediaContainerManager.getMultimediaContainer(modUrl);
Mixer mixer = multimediaContainer.createNewMixer();
mixer.startPlayback();
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(3);
} catch (Exception e) {
e.printStackTrace();
}
}
Works fine for me. But I would also suggest to try running javamod stand-alone in order to make sure it works on your system.
To get JavaMod to run on your machine, you have to run it with the java -jar command.
This screenshot illustrates how to do this:
Whoa, cool that JavaMod even exists to play old school modules in Java. I doubt you're going to find much better support these days. Honestly you're best bet is probably going to be to figure out how to call into that library, or just use the source code directly. You'll likely have to look through the code to determine how to integrate with it. By the way, I'm able to run it fine by just double clicking on the .jar file (I'm using Java 6 Update 24 on Windows 7).